![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
江蘇計(jì)算機(jī)二級(jí)c2009春上機(jī)試題2 |
2009春第二套 一:改錯(cuò)題: 程序功能: 函數(shù)mergeu的功能是:合并兩個(gè)字符集合為一個(gè)新集合,每個(gè)字符串在新集合中僅出現(xiàn)一次,函數(shù)返回新集合中字符串的個(gè)數(shù) [測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果] 測(cè)試數(shù)據(jù): s1集合{“while”,”for”,”switch”,”if”,”continue”} s2集合{“for”,”case”,”do”,”else”,”char”,”switch”} 運(yùn)行結(jié)果: while for switch if break continue case do else char [含有錯(cuò)誤的源代碼] #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中,根據(jù)題目要求及程序中語(yǔ)句之間的邏輯關(guān)系對(duì)程序中的錯(cuò)誤進(jìn)行修改。 2. 改錯(cuò)時(shí),可以修改語(yǔ)句中的一部分內(nèi)容,調(diào)整語(yǔ)句次序,增加少量的變量說(shuō)明或編譯預(yù)處理命令,但不能增加其它語(yǔ)句,也不能刪去整條語(yǔ)句. 3. 改正后的源程序(文件名myfl.c)保存在T:盤(pán)根目錄中供閱卷使用,否則不予評(píng)分。 二:編程題 [程序功能] 從一個(gè)指定的自然數(shù)n0開(kāi)始,按以下公式生成一個(gè)數(shù)列,直到n(i+1)為1,計(jì)算數(shù)列的長(zhǎng)度(數(shù)列中數(shù)的個(gè)數(shù)) 當(dāng)n(i)是偶數(shù)時(shí),n(i+1)=ni/2 當(dāng)n(i)是奇數(shù)時(shí),n(i+1)=3*ni+1 例如:當(dāng)n0=7時(shí)生成的數(shù)列為:7,22,11。34,17,52,26,13,40,20,10,5。 16,8,4,2,1.該數(shù)列的長(zhǎng)度為17。 【編程要求】 1.編寫(xiě)函數(shù)int linkrun(int a,int b,int *p),以[a,b]中所有自然數(shù)作為n0可以生成b-a+1個(gè)滿(mǎn)足上述特性的數(shù)列,求出這些數(shù)列的長(zhǎng)度并依次保存到p指向的數(shù)組中, 函數(shù)返回p數(shù)組中的最大值。 2.編寫(xiě)main函數(shù),聲明變量a、b和一維數(shù)組P,接收鍵盤(pán)輸入的兩個(gè)自然數(shù)保存到a、b變量中,以a、b和P作為實(shí)參調(diào)用linkrun函數(shù),將P數(shù)組中存儲(chǔ)的各數(shù)列的長(zhǎng)度值和最大值輸出到屏幕及結(jié)果文件myf2.out中。最后將考生本人的準(zhǔn)考證號(hào)字符串也保存到結(jié)果文件myf2.out中。 【測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果】 測(cè)試數(shù)據(jù):a=5 b=9 運(yùn)行結(jié)果: 6 9 17 4 20 max=20 【要求】 1.源程序文件名為myf2.c,輸出結(jié)果文件名為myf2.out。 2.?dāng)?shù)據(jù)文件的打開(kāi)、使用、關(guān)閉均用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中緩沖文件系統(tǒng)的文件操作函數(shù)實(shí)現(xiàn). 3.源程序文件和運(yùn)行結(jié)果文件均需保存在T:盤(pán)根目錄中供閱卷使用. 4.不要復(fù)制擴(kuò)展名為obj和exe的文件到T:盤(pán)中。
|