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

江蘇省高校計(jì)算機(jī)等級考試命題研究院 江蘇省高校計(jì)算機(jī)等級考試輔導(dǎo)
2012春江蘇省計(jì)算機(jī)二級C上機(jī)考試真題1

    2012春江蘇省高校計(jì)算機(jī)等級考試

     二級C語言上機(jī)試卷1

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

  一、改錯(cuò)題(16)

  【程序功能】

  以下程序中函數(shù)void csort(char str[][N],int n)str指向的二維數(shù)組前n行中存儲的n

個(gè)字符串分別作如下處理:從中間將字符串一分為二,左半部分字符子串按字符的ASCII碼值

從大到小排序(若字符串的長度為奇數(shù),則中間字符不參加排序)。

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

  測試字符串:"abcdefgh","123498765"

  屏幕輸出:dcbaefgh

           432198765

  【含有錯(cuò)誤的源程序】

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

1    #include<stdio.h>

2    #include<string.h>

3    #include<conio.h>

4    #define N 80

5    void csort(char str[][N],int n);

6    void main()

7    {char s[2][N]="abcdefgh","123498765";

8     int i;

9     csort(s,2);

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

11      puts(s);   

12    getch();

13    }

14    void csort(char str[][N],int n)

15    {  int i,j,k,len,half;

16       char temp;

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

18       {len=strlen(str[i][0]);

19        half=len/2;

20        for(j=0;j<half-1;j++)

21          for(k=j+1;k<half-1;k++)

22            if(str[i][j]<str[i][k])

23            {temp=str[i][j];

24             str[i][j]=str[i][k];

25             str[i][k]=temp;

26            }

27      }

28    }

    【要求】

    1.打開T盤中myf1.c文件或?qū)⑸鲜龀绦蜾浫氲?/SPAN>myf1.c文件中,根據(jù)題目要求及程序中

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

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

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

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

    二、編程題(24)

    【程序功能】

    對于所給的一個(gè)自然數(shù)n,查找并輸出所有滿足以下條件的等差數(shù)列:(1)公差為1;

(2)數(shù)列中各項(xiàng)數(shù)值之和等于n。

    【編程要求】

    1.編寫函數(shù)int found(int a[][30],int n)。函數(shù)的功能:查找滿足上述條件的所有等差

數(shù)列并依次將其保存到a指向的數(shù)組中(一行保存一個(gè)數(shù)列),函數(shù)返回找到的數(shù)列個(gè)數(shù)。

    2.編寫函數(shù)main()。函數(shù)的功能:聲明一個(gè)二維整型數(shù)組用于保存查找結(jié)果,輸入一個(gè)整

數(shù)并保存到變量n(n600)。用n和整型數(shù)組作實(shí)參調(diào)用found函數(shù),將找到的所有等差數(shù)

列輸出到屏幕及數(shù)據(jù)文件myf2.out中。最后將考生本人的準(zhǔn)考證號輸出到文件myf2.out中。

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

    輸入:n=500

    屏幕輸出:

    8 9 10 11 12 13 14 15 16 17 18 19 20 2l 22 23 24 25 26 27 28 29 30 31 32

    59 60 6l 62 63 64 65 66

    98 99 100 101 102

    500

【要求】

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

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

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

4.不要復(fù)制擴(kuò)展名為objexe的文件到T盤中。

    參考答案

一、改錯(cuò)題

7  {char s[2][N]="abcdefgh","123498765";  改為{"abcdefgh","123498765"}

11 puts(s);    改為puts(s[i])

18 {len=strlen(str[i][0]);    改為str[i]

21 for(k=j+1;k<half-1;k++)    改為k<half

二、編程題

    #include<stdio.h>

    #include<conio.h>

    int found(int a[][30],int n)   

    {  int i,k=0,s=0,j,count,l=0;

       for(i=1;i<=n;i++)

       {  for(s=0,j=i;s<n;j++)

            s=s+j;

          if(s==n)

          {count=0;

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

            a[1][count++]=k;

           l++;

          }

       }

    return l;

    }

    void main()

    {int i,j,n,m,a[10][30]={0};

     FILE *fp;

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

     printf("input n:");

     scanf("%d",&n);

     m=found(a,n);

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

     {

      for(j=0;a[i][j];j++)

      {printf("%d",a[i][j]);

       fprintf(fp,"%d",a[i][j]);

       printf("\n");

       fprintf(fp,"\n");

      }

      fprintf(fp,"My exam number is:0012400124"); fclose(fp);

      getch();

    }