1. <small id="kntrr"><delect id="kntrr"></delect></small>
    2. <sub id="kntrr"></sub>
        1. <form id="kntrr"><listing id="kntrr"></listing></form>
            江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
            2013秋江蘇省計算機二級C上機真題第1套

            2013秋江蘇省高校計算機等級考試

            二級  C語言上機試卷第1

                (本試卷完成時間為70分鐘)

             一、改錯題(16分)

                【程序功能】

                統計一組單詞(本題中含2個單詞)中的每個單詞在一篇文章中各自出現的次數,單詞中的字母字符區分大小寫。

                【測試數據與運行結果】

                測試數據:

                文章正文: The Olympic Games will be held just outside the capital and the whole area will be called 'Olympic City'.

                被統計的一組單詞:Olympic, will

                屏幕輸出:Olympic2

                         wi11:2

                【含有錯誤的源程序】

                以下源程序已保存在Tmyf1.c文件內,考生可直接打開該文件調試程序。

            1    #include< stdio.h>

            2    #include< conio.h>

            3    #include< string.h>

            4    #include< ctype.h>

            5    void count( char str[] ,char substr[][10] ,int ct[],int n)

            6    {

            7    int i,j,k =0,m =0;

            8    char t[];

            9    for(i=0;str[i];i++)

            10   {

            11     for(j=i;isalpha(str[j]);i++)

            12     {

            13      t[m]=str[j];

            14      j++;m++;

            15     }

            16     t[m]=’/0';

            17     for(k=0;k<n;k++)

            18      if( t == substr[k])

            19        ct[k]++;

            20     m=0;

            21    }

            22   }

            23   int  main()

            24   {

            25    char line[]="The Olympic Games will be held just outside the capital and the whole area will be

            26       called 'Olympic City,.”;

            27    char word[][10]={”Olympic”,”will”};

            28    int i,c[2]={0};

            29    count(line[] ,word[][],c,2);

            30    for(i=0;i<2;i++)

            31      printf("\n%8s:%2d",word[i],c[i]);

            32    getch();

            33    return 0;

            34    }

                【要求】

                1.打開T盤中myfl.c文件或將上述程序錄入到myfl.c文件中,根據題目要求及程序中

            語句之間的邏輯關系對程序中的錯誤進行修改。

                2.改錯時,可以修改語句中的一部分內容,調整語句次序,增加少量的變量說明或編譯預

            處理命令,但不能增加其他語句,也不能刪去整條語句。

                3.改正后的源程序(文件名myfl.c)保存在T盤中供閱卷使用,否則不予評分。

                二、編程題(24分)

                【程序功能】

                找出[a,b]區間內所有滿足以下條件的整數:(1)該數是素數;(2)該數的十進制表示是

            4位數并且是降序數(即從高位到低位的各位數字依次減小或不增加的整數)。例如,4211既是素數又是4位降序數,因此4211是滿足上述條件的整數。

                【編程要求】

                1.編寫函數int decend(long n1,long n2,long x[])。函數功能:找出[n1,n2]區間內滿足上述條件的所有整數并依次存放到x指向的一維數組中,函數返回滿足條件的整數個數。

                2.編寫main函數。函數功能:聲明變量a、b及一維數組c,鍵盤輸入a、b的值,調用decend函數找出[a,b]區間內所有滿足上述條件的整數并保存到c數組,輸出c數組中的結果數據到屏幕及文件myf2.out中,最后將考生本人的準考證號輸出到文件myf2.out中。

                【測試數據與運行結果】

                測試數據:a =1000 b=5000

                屏幕輸出:2111  2221  3221  3331  4111  4211  4421  4441

                【要求】

                1.源程序文件名為myf2.c,輸出結果文件名為myf2.out。

                2.數據文件的打開、使用、關閉均用C語言標準庫中的文件操作函數實現。

                3.源程序文件和運行結果文件均需保存在T盤中供閱卷使用。

                4.不要復制擴展名為objexe的文件到T盤中。

             

                參考答案

            一、改錯題

            8  char t[];    改為t[10]

            16  t[m]='/0';    改為'\0'

            18  if(t== substr[k])    改為  !strcmp(t,substr[k])strcmp(t, substr[k] ==0)

            29  count (line[] ,word[][],c,2);  改為  (line, word,c,2)

            二、編程題

                #include <stdio.h>

                #include <stdlib.h>

                #include <conio.h>

                int prime(long n)

                {

                  int i =2;

                  while( n%i&&i<=n/2)i++;

                  if(i<n/2)  return 0;

                   else return 1;

                }

                int decend( long n1 ,long n2,  long x[])

                {

                  long int i,y;  

                  int a[4] ,k,j =0;

                  for(i=n1;i<=n2;i++)

                    if( prime(i))

                    {k=0;y=i;

                     while(y){a[k++]=y% 10;y/= 10;}

                     if(k==4)

                     {  k--;

                        while(k>0&&a[k]>=a[k-1])k--;

                        if(k==0)

                          x[j++]=i;

                     }

                    }

                   return j;

                }

                int  main()

                {  FILE *fp;

                int k,i;

                long a,b,c[100];

                printf( "a,b: ");

                scanf("%ld%ld",&a,&b);

                fp=fopen( "myf2.out","w");

                if( fp==NULL)

                {printf( "Create  File myf2. out failed !  \n") ;    exit(0) ;}

                 k = decend( a,b,c) ;

                 for(i = 0; i<k; i++ )

                 {

                   printf("%10ld",c[i] ) ;

                   fprintf(fp,"%lOld",c[i] ) ;

                  }

                 fprintf( fp,  "my examination number is 00123456789\n") ;

                 fclose ( fp) ;

                 getch( ) ;

                 return 0;

                }

             

            国产在线精品一区二区三区不卡_亚洲第一极品精品无码_永久免费无码网站在线观看_亚洲av综合日韩