《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,"%d\n",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 str[80];
int n;
printf("輸入字符串:");
gets( _____(3)_____ );
n = _____(4)_____;
printf("輸出結(jié)果: %d\n",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:\KS\B_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è)人所得稅為: %.2f\n", 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è)人所得稅為: %.2f\n", tax);
return 0;
}
2. 程序調(diào)試題2
調(diào)試要求:下列程序(C:\KS\B_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é)果(不化簡)。
運(yùn)行示例:
含錯(cuò)誤源程序:
#include
struct 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/%d\n",n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den);
return 0;
}
參考答案:
#include
struct 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/%d\n",n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den);
return 0;
}
3. 程序調(diào)試題3
調(diào)試要求:下列程序(C:\KS\B_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 a[5],b[5],c[5];
int i,n;
printf ("請(qǐng)輸入第一個(gè)集合內(nèi)容,5個(gè)整型數(shù)\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf ("請(qǐng)輸入第二個(gè)集合內(nèi)容,5個(gè)整型數(shù)\n");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
n=inter(a,b,c);
printf ("A,B交集元素為:\n");
for(i=0;i<5;i++)
printf("%4d", c[i]);
printf("\n");
return 0;
}
int inter(int s1[],int s2[],int s3[])
{ int j,i=k=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
if (s1[i]==s2[j]) break;
if(j<5) s3[k]=s1[i] ;
}
return k;
}
參考答案:
#include
int inter(int s1[],int s2[],int s3[]); /*******/
int main(void )
{
int a[5],b[5],c[5];
int i,n;
printf ("請(qǐng)輸入第一個(gè)集合內(nèi)容,5個(gè)整型數(shù)\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf ("請(qǐng)輸入第二個(gè)集合內(nèi)容,5個(gè)整型數(shù)\n");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
n=inter(a,b,c);
printf ("A,B交集元素為:\n");
for(i=0;i
#define N 10
int main(void)
{
int a[N],i,x;
for (i=0;i=x)
printf("%d ",a[i]);
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] {1}6 {2}3 {3}10 {4}5 {5}16 {6}8 {7}4 {8}2 {9}1
說明:輸入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 (n<=0)
{
printf("Error\n");
return -1;
}
printf("[%ld] ",n);
for (i=1;1;i++)
{
if (n%2==0)
n = n/2;
else
n = 3*n + 1;
printf("{%d}%ld ",i,n);
if (n==1)
break;
}
printf("\n");
return 0;
}
二級(jí) C 程序設(shè)計(jì) B 場 參考答案
一、單選題
1. D 2. D 3. B 4. B 5. B 6. C 7. D 8. A 9. D 10. C
二、程序填空題參考答案
1. 1):【z=0】
2):【n!=0】【n】【n>0】【n>=1】
3):【n%10】【k=n%10】【n-n/10*10】
4):【fclose(fp)】
2. 1):【str[i]!=\0】【str[i]】【str[i]!=0】【i
下載提示(請(qǐng)認(rèn)真閱讀)
- 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您。
文檔包含非法信息?點(diǎn)此舉報(bào)后獲取現(xiàn)金獎(jiǎng)勵(lì)!
下載文檔到電腦,查找使用更方便
9.9
積分
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
-
2015
上海
計(jì)算機(jī)等級(jí)考試
二級(jí)
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-6577514.html