<source id="v77gz"></source>
    <u id="v77gz"><p id="v77gz"></p></u>

      <samp id="v77gz"></samp>

      <var id="v77gz"><td id="v77gz"><ins id="v77gz"></ins></td></var>

      <video id="v77gz"></video>
      <source id="v77gz"></source>
    1. 江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
      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;

          }

       

      中文在线字幕第一页_中文字幕高跟丝袜作品番号_亚洲中文无无码第_日本亚洲欧美国产日韩a??y_在线观看亚洲av无码专区