江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
江蘇計算機二級c2009春上機試題2

2009春第二套

一:改錯題:

程序功能:

  函數mergeu的功能是:合并兩個字符集合為一個新集合,每個字符串在新集合中僅出現一次,函數返回新集合中字符串的個數

[測試數據與運行結果]

測試數據:

s1集合{“while”,”for”,”switch”,”if”,”continue”}

s2集合{“for”,”case”,”do”,”else”,”char”,”switch”}

運行結果:

while   for   switch   if  break   continue   case  do  else  char

[含有錯誤的源代碼]

#include <stdio.h>

#include <string.h>

int merge(char s1[ ][10],char s2[ ][10],char s3[ ][10],int m,int n)

{int i,j,k=0;

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

   s3[k++]=s1[i];

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

{for(j=0;j<m;j++)

   if(strcmp(s2[i],s1[j]))

      break;

   if(j>m)

     strcpy(s3[k++],s2[i]);

}

return k;

}

 

void main()

{int i,j;

 char s1[6][10]={“while”,”for”,”switch”,”if”,”break”,”continue”},

s2[6][10]={“for”,”case”,”do”,”else”,”char”,”switch”},s3[20][10];

j=merge(s1[][10],s2[][10],s3[ ][10],6,6);

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

  printf(“%s “,s3[i]);

}                                               

【要求】

1.  將上述程序錄入到文件myf1.C,根據題目要求及程序中語句之間的邏輯關系對程序中的錯誤進行修改。

2.  改錯時,可以修改語句中的一部分內容,調整語句次序,增加少量的變量說明或編譯預處理命令,但不能增加其它語句,也不能刪去整條語句.

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

:編程題

[程序功能]

  從一個指定的自然數n0開始,按以下公式生成一個數列,直到n(i+1)1,計算數列的長度(數列中數的個數)

 

 n(i)是偶數時,n(i+1)=ni/2

        n(i)是奇數時,n(i+1)=3*ni+1

例如:當n0=7時生成的數列為:7221134175226134020105

168421.該數列的長度為17

【編程要求】

1.編寫函數int linkrun(int aint bint *p),以[ab]中所有自然數作為n0可以生成b-a+1個滿足上述特性的數列,求出這些數列的長度并依次保存到p指向的數組中, 函數返回p數組中的最大值。

2.編寫main函數,聲明變量ab和一維數組P,接收鍵盤輸入的兩個自然數保存到ab變量中,以abP作為實參調用linkrun函數,將P數組中存儲的各數列的長度值和最大值輸出到屏幕及結果文件myf2out中。最后將考生本人的準考證號字符串也保存到結果文件myf2out中。

【測試數據與運行結果】

測試數據:a=5 b=9

運行結果:

    6    9    17    4  20

    max=20 

【要求】 

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

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

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

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

 

彩票30选5开奖结果