鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導(dǎo)
2013秋江蘇省計算機二級C上機真題第1套

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

二級  C語言上機試卷第1

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

 一、改錯題(16分)

    【程序功能】

    統(tǒng)計一組單詞(本題中含2個單詞)中的每個單詞在一篇文章中各自出現(xiàn)的次數(shù),單詞中的字母字符區(qū)分大小寫。

    【測試數(shù)據(jù)與運行結(jié)果】

    測試數(shù)據(jù):

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

    被統(tǒng)計的一組單詞:Olympic, will

    屏幕輸出:Olympic2

             wi11:2

    【含有錯誤的源程序】

    以下源程序已保存在Tmyf1.c文件內(nèi),考生可直接打開該文件調(diào)試程序。

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]={”O(jiān)lympic”,”will”};

28    int ic[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文件或?qū)⑸鲜龀绦蜾浫氲?/SPAN>myfl.c文件中,根據(jù)題目要求及程序中

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

    2.改錯時,可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加少量的變量說明或編譯預(yù)

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

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

    二、編程題(24分)

    【程序功能】

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

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

    【編程要求】

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

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

    【測試數(shù)據(jù)與運行結(jié)果】

    測試數(shù)據(jù):a =1000 b=5000

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

    【要求】

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

    2.數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標準庫中的文件操作函數(shù)實現(xiàn)。

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

    4.不要復(fù)制擴展名為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;

    }