2015上海計(jì)算機(jī)等級(jí)考試二級(jí)C(B卷).doc
《2015上海計(jì)算機(jī)等級(jí)考試二級(jí)C(B卷).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《2015上海計(jì)算機(jī)等級(jí)考試二級(jí)C(B卷).doc(17頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
2015二級(jí)C( B卷)一、單項(xiàng)選擇題(答案在最后)二、填空題(答案在最后)程序功能:輸入一個(gè)正整數(shù),將其各位上為偶數(shù)的數(shù)字去除,剩余的數(shù)按原來從高位到低位的順序組成一個(gè)新的數(shù),并將其輸出到文件out1.txt中。例如,輸入:134456779,輸出到文件:135779。代碼:#include int main(void) long n; int k,i=1; int _(1)_; FILE *fp; fp=fopen(out1.txt,w); scanf(%ld,&n); while ( _(2)_ ) k = _(3)_; n = n/10; if (k%2 = 1) z = z+k*i; i = 10*i; fprintf(fp,%dn,z); _(4)_; /* 關(guān)閉文件 */ return 0;程序功能:從鍵盤輸入一個(gè)字符串和一個(gè)字符,統(tǒng)計(jì)字符串中該字符出現(xiàn)的次數(shù),并輸出結(jié)果。例如,輸入字符串:aBEddfghDdd,輸入字符:d,輸出結(jié)果:4。代碼:#include int num(char str) char ch; int i=0,count=0; printf(輸入字符:); scanf(%c,&ch); while( _(1)_ ) if( _(2)_ ) count+; i+; return count;int main(void) char str80; int n; printf(輸入字符串:); gets( _(3)_ ); n = _(4)_; printf(輸出結(jié)果: %dn,n); return 0;三、操作題(一)程序調(diào)試題(3小題,第1、2小題各3處錯(cuò),第3小題4處錯(cuò),每錯(cuò)誤點(diǎn)3分,共30分)1. 程序調(diào)試題1調(diào)試要求:下列程序(C:KSB_2_1.c)包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將程序結(jié)果(包括B_2_1.c文件和B_2_1.EXE文件)保存到目錄C:KS中。功能說明:輸入某人某一個(gè)月的月收入(在2500元到8000元之間),計(jì)算并輸出該月份他應(yīng)繳的個(gè)人所得稅。個(gè)人所得稅采用分段計(jì)算方法計(jì)算,具體為:月收入不超過3500元(含3500元,以下同)免稅;月收入超過3500元但不超過5000元的,超過部分的稅率為3%;月收入超過5000元但不超過8000元的,超過5000元部分的稅率為10%。運(yùn)行示例:輸入:請(qǐng)輸入月收入: 7000輸出:個(gè)人所得稅為: 245.00說明:月收入7000元中3500元免稅,1500元的稅利為3%,2000元的稅利為10%。含錯(cuò)誤源程序:#include int main(void) float salary,tax; printf(請(qǐng)輸入月收入: ); scanf(%d, &salary); if (salary=3500) tax=0 else if (salary=5000) tax=(salary-3500)*0.03; else tax=1500*0.03+(salary-3500)*0.1; printf(個(gè)人所得稅為: %.2fn, tax); return 0;參考答案:#include int main(void) float salary,tax; printf(請(qǐng)輸入月收入: ); scanf(%f, &salary); /*/ if (salary=3500) tax=0; /*/ else if (salary=5000) tax=(salary-3500)*0.03; else tax=1500*0.03+(salary-5000)*0.1; /*/ printf(個(gè)人所得稅為: %.2fn, tax);return 0;2. 程序調(diào)試題2調(diào)試要求:下列程序(C:KSB_2_2.c)包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將程序結(jié)果(包括B_2_2.c文件和B_2_2.EXE文件)保存到目錄C:KS中。功能說明:自定義一個(gè)表示分?jǐn)?shù)的結(jié)構(gòu)體類型,在主函數(shù)中輸入兩個(gè)分?jǐn)?shù),通過調(diào)用函數(shù)計(jì)算兩個(gè)分?jǐn)?shù)的和,最后在主函數(shù)中輸出計(jì)算的結(jié)果(不化簡(jiǎn))。運(yùn)行示例:含錯(cuò)誤源程序:#includestruct Frac int Mol; int Den;struct add(struct Frac a,struct Frac b) struct Frac c; c.Mol=a.Mol*b.Den+a.Den*b.Mol; c.Den=a.Den+b.Den; return c;int main(void) struct Frac n,m,t ; printf(請(qǐng)輸入第一個(gè)分?jǐn)?shù):); scanf(%d/%d,&n.Mol,&n.Den); printf(請(qǐng)輸入第二個(gè)分?jǐn)?shù):); scanf(%d/%d,&m.Mol,&m.Den); t= struct add(n,m); printf(%d/%d+%d/%d=%d/%dn,n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0;參考答案:#includestruct Frac int Mol; int Den;struct Frac add(struct Frac a,struct Frac b) /*/ struct Frac c; c.Mol=a.Mol*b.Den+a.Den*b.Mol; c.Den=a.Den*b.Den; /*/ return c;int main(void) struct Frac n,m,t ; printf(請(qǐng)輸入第一個(gè)分?jǐn)?shù):); scanf(%d/%d,&n.Mol,&n.Den); printf(請(qǐng)輸入第二個(gè)分?jǐn)?shù):); scanf(%d/%d,&m.Mol,&m.Den); t= add(n,m); /*/ printf(%d/%d+%d/%d=%d/%dn,n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0; 3. 程序調(diào)試題3調(diào)試要求:下列程序(C:KSB_2_3.c)包含4個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將程序結(jié)果(包括B_2_3.c文件和B_2_3.EXE文件)保存到目錄C:KS中。功能說明:輸入兩個(gè)由整型數(shù)構(gòu)成的集合(元素個(gè)數(shù)均為5)分別放到數(shù)組A和B中,求這兩個(gè)集合的交集(交集的元素由兩個(gè)集合中的相同元素構(gòu)成),最后輸出交集中的元素。運(yùn)行示例:含錯(cuò)誤源程序:#include void inter(int s1,int s2,int s3);int main(void ) int a5,b5,c5; int i,n; printf (請(qǐng)輸入第一個(gè)集合內(nèi)容,5個(gè)整型數(shù)n); for(i=0;i5;i+) scanf(%d,&ai); printf (請(qǐng)輸入第二個(gè)集合內(nèi)容,5個(gè)整型數(shù)n); for(i=0;i5;i+) scanf(%d,&bi); n=inter(a,b,c); printf (A,B交集元素為:n); for(i=0;i5;i+) printf(%4d, ci); printf(n); return 0;int inter(int s1,int s2,int s3) int j,i=k=0; for(i=0;i5;i+) for(j=0;j5;j+) if (s1i=s2j) break; if(j5) s3k=s1i ; return k;參考答案:#include int inter(int s1,int s2,int s3); /*/int main(void ) int a5,b5,c5; int i,n; printf (請(qǐng)輸入第一個(gè)集合內(nèi)容,5個(gè)整型數(shù)n); for(i=0;i5;i+) scanf(%d,&ai); printf (請(qǐng)輸入第二個(gè)集合內(nèi)容,5個(gè)整型數(shù)n); for(i=0;i5;i+) scanf(%d,&bi); n=inter(a,b,c); printf (A,B交集元素為:n); for(i=0;in;i+) /*/ printf(%4d, ci); printf(n); return 0;int inter(int s1,int s2,int s3) int j,i,k=0; /*/ for(i=0;i5;i+) for(j=0;j5;j+) if (s1i=s2j) break; if(j5) s3k+=s1i ; /*/ return k;(二)編程題(2小題,共35分,其中第1小題15分,第2小題20分)1編程題1編程要求:請(qǐng)按題中的功能要求,編寫程序并能得到正確的結(jié)果。將程序結(jié)果(包括B_4_1.c文件和B_4_1.EXE文件)保存到目錄C:KS中。程序功能:按示例格式完成以下要求。(1)輸入10個(gè)整數(shù)(存入數(shù)組a),再輸入整數(shù)x。(2)輸出數(shù)組a中大于等于x的所有元素。運(yùn)行示例:輸入:22 55 66 99 44 33 77 11 0 88 60輸出:66 99 77 88參考答案:#include #define N 10int main(void) int aN,i,x; for (i=0;iN;i+) scanf(%d,&ai); scanf(%d,&x); for (i=0;i=x) printf(%d ,ai); printf(n);2編程題2編程要求:請(qǐng)按題中的功能要求,編寫程序并能得到正確的結(jié)果。將程序結(jié)果(包括B_4_2.c文件和B_4_2.EXE文件)保存到目錄C:KS中。程序功能:按示例格式完成以下要求(驗(yàn)證數(shù)學(xué)上考拉茲猜想:任意一個(gè)大于1正整數(shù),連續(xù)進(jìn)行特定運(yùn)算,經(jīng)有限步驟后,計(jì)算結(jié)果得到1)。(1)輸入整數(shù)n,如果n小于2,輸出Error并結(jié)束運(yùn)行。(2)如果整數(shù)n為偶數(shù),計(jì)算n/2,否則計(jì)算3*n+1,生成新的整數(shù)(仍存為n)。(3)如果生成的整數(shù)結(jié)果等于1,則結(jié)束運(yùn)行,否則重復(fù)步驟(2)與(3)。運(yùn)行示例1:輸入:12輸出:12 16 23 310 45 516 68 74 82 91說明:輸入12,第1次計(jì)算生成6,第2次計(jì)算生成3,第9次計(jì)算生成1。示例中1、2至9為生成的次數(shù)標(biāo)記,、與間隔空格都必須保留。運(yùn)行示例2:輸入:0輸出:Error說明:輸入為0、1或負(fù)數(shù),輸出Error。參考答案:#include int main(void) long n; int i,j; scanf(%ld,&n); if (n0】【n=1】3):【n%10】【k=n%10】【n-n/10*10】4):【fclose(fp)】2. 1):【stri!=0】【stri】【stri!=0】【istrlen(str)】2):【stri=ch】【ch=stri】3):【str】4):【num(str)】三、改錯(cuò)題四、編程題17- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 2015 上海 計(jì)算機(jī)等級(jí)考試 二級(jí)
鏈接地址:http://italysoccerbets.com/p-6577514.html