版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《全國計算機(jī)等級考試二級教程--C語言程序設(shè)計》課后習(xí)題答案
第一章
1.1EXE
1.2COBJEXE
1.3順序選擇循環(huán)
第二章
一.選擇題
2.1B2.2D2.3B2.4A2.5C2.6A2.7B
2.8B2.9D2.10C2.11B2.12B2.13A
二.填空題
2.141112
2.154.24.2
2.16{}定義執(zhí)行語句
2.17關(guān)鍵字用戶標(biāo)識符
2.18intfloatdouble
2.19floata1=1;floata2=1;
2.20存儲單元
2.213.5
2.22(a*b)/ca*b/ca/c*b
2.23把常量10賦給變量s
2.24位1或0
2.2581270111111-12810000000
2.2632767-327681000000000000000
2.2710816
三.上機(jī)改錯題
2.28
#include"stdio.h";刪除行尾的";"
main();/*mainfunction*/刪除")"后的";",注釋中的*要緊靠“/”,即應(yīng)為“/*”和“*/”
函數(shù)開始處遺失了一個“{”
floatr,s;/*/*risradius*/,/*sisareaofcircuilar*/*/注釋符號不可嵌套使用
r=5.0;
s=3.14159*r*r;
printf("%f\n",s)行尾遺失了“;”
函數(shù)結(jié)束處遺失了一個“}”
2.29
#include"stdio.h"
main/*mainfunction*/main后遺失了“()”
{
floata,b,c,v;/*a,b,caresides,visvolumeofcube*/
4.22
#include
/*檢查日期的合法性*/
intcheckdate(intyear,intmonth,intday)
{
if(year<1900||year>2005)
{
printf("輸入的年份無效!\n");
return0;
}
elseif(month<0&&month>12)
{
printf("輸入的月份無效!\n");
return0;
}
elseif(day<=0&&day>31)
{
printf("輸入的日期無效!\n");
return0;
}
else
{
switch(month)
{
case4:
case6:
case9:
case11:
if(day>30)
{
printf("輸入的日期無效!\n");
return0;
}
break;
case2:
if((year%4==0&&year%100!=0)||year%400==0)
{
if(day>29)
{
printf("輸入的日期無效!\n");
return0;
}
}
else
{
if(day>28)
{
printf("輸入的出生日期無效!\n");
return0;
}
}
break;
}/*endofswitch(m0)*/
}
return1;
}
voidmain()
{
inty0,m0,d0;/*生日*/
inty1,m1,d1;/*當(dāng)前日期*/
intyears,months,days;/*實足年齡*/
printf("請輸入學(xué)生的生日:");
scanf("%d%d%d",&y0,&m0,&d0);
if(checkdate(y0,m0,d0))
{
printf("請輸入當(dāng)前日期:");
scanf("%d%d%d",&y1,&m1,&d1);
/*當(dāng)前日期合法性檢查*/
if(!checkdate(y1,m1,d1))
{
return;
}
elseif(y0>y1)
{
printf("出生年份比當(dāng)前年份晚!\n");
return;
}
elseif(y0==y1)
{
if(m0>m1)
{
printf("出生年月比當(dāng)前年月晚!\n");
return;
}
elseif(m0==m1)
{
if(d0>d1)
{
printf("出生年月日比當(dāng)前年月日晚!\n");
return;
}
}
}
}
/*計算實足年齡*/
years=y1-y0;
months=m1-m0;
days=d1-d0;
/*修正實足年齡天數(shù)*/
if(days<0)
{
months--;
switch(m1)
{
case1:
case5:
case7:
case10:
case12:
days+=30;
break;
case2:
case4:
case6:
case8:
case9:
case11:
days+=31;
break;
case3:
if((y1%4==0&&y1%100!=0)||y1%400==0)
{
days+=29;
}
else
{
days+=28;
}
break;
}/*endofswitch(m1)*/
}/*endofif(days<0)*/
/*修正實足年齡月數(shù)*/
if(months<0)
{
months+=12;
years--;
}/*endofif(months<0)*/
printf("出生日期:%d年%d月%d日\n",y0,m0,d0);
printf("當(dāng)前日期:%d年%d月%d日\n",y1,m1,d1);
printf("實足年齡:%d年%d月%d日\n",years,months,days);
return;
}
4.23
#include
voidmain()
{
inta;
printf("請輸入一個整數(shù):");
scanf("%d",&a);
if(a%2==0)
{
printf("%d是偶數(shù)\n",a);
}
else
{
printf("%d是奇數(shù)\n",a);
}
}
4.24
#include
voidmain()
{
inta,b,c,temp,max;
printf("請輸入三個整數(shù):");
scanf("%d%d%d",&a,&b,&c);
temp=(a>b)?a:b;
max=(temp>c)?temp:c;
printf("\n");
printf("你輸入的數(shù)中最大的是%d.\n",max);
}
4.25
(1)不嵌套的if語句
#include
voidmain()
{
intx,y;
printf("inputx:");
scanf("%d",&x);
if(x>-5&&x<0)
{
printf("yis%d\n",y=x);
}
if(x==0)
{
printf("yis%d\n",y=x-1);
}
if(x>0&&x<10)
{
printf("yis%d\n",y=x+1);
}
if(x>=10||x<=-5)
{
printf("error\n");
}
}
(2)嵌套的if語句
#include
voidmain()
{
intx,y;
printf("inputx:");
scanf("%d",&x);
printf("\n");
if(x<0)
{
if(x>-5)
{
printf("yis%d.\n",y=x);
}
else
{
printf("error!\n");
}
}
if(0==x)
{
printf("yis%d.\n",y=x-1);
}
if(x>0)
{
if(x<10)
{
printf("yis%d.\n",y=x+1);
}
else
{
printf("error!\n");
}
}
}
(3)if_else語句
#include
voidmain()
{
intx,y;
printf("inputx:");
scanf("%d",&x);
if(x>-5&&x<0)
{
printf("yis%d.\n",y=x);
}
elseif(x==0)
{
printf("yis%d.\n",y=x-1);
}
elseif(x>0&&x<10)
{
printf("yis%d.\n",y=x+1);
}
else
{
printf("error!\n");
}
}
(4)switch語句
#include
voidmain()
{
intx,y;
printf("inputx:");
scanf("%d",&x);
switch(x)
{
case-4:
case-3:
case-2:
case-1:
printf("yis%d.\n",y=x);
break;
case0:
printf("yis%d.\n",y=x-1);
break;
case1:
case2:
case3:
case4:
case5:
case6:
case7:
case8:
case9:
printf("yis%d.\n",y=x+1);
break;
default:
printf("error!\n");
}
}
第五章
一.選擇題
5.1D5.2C5.3B5.4C5.5C5.6B5.7D5.8A5.9D5.10D
二.填空題
5.11546
5.12死循環(huán)
5.13-1
5.1411
5.15d=1.0k++k<=n
5.16x>=0x
三.編程題
5.17
#include
voidmain()
{
inti;
intsig=1;
intsum=0;
for(i=1;i<=101;i++,i++)
{
sum+=sig*i;
sig*=-1;
}
printf("sum=%d\n",sum);
}
5.18
(1)
#include
voidmain()
{
inti;
doublem=1.0;
doublee=1.0;
for(i=1;i<50;i++)
{
m*=i;
e+=1/m;
}
printf("e=%f\n",e);
}
(2)
#include
voidmain()
{
inti=1;
doublem=1.0;
doublee=1.0;
while(1/m>=0.0004)
{
m*=i;
e+=1/m;
i++;
}
printf("e=%f\n",e);
}
5.19
#include
voidmain()
{
intyear;
intcol=0;
for(year=1600;year<=2000;year++)
{
if((year%4==0&&year%100!=0)||year%400==0)
{
printf("%d\t",year);
col++;
if(col%5==0)
{
printf("\n");
}
}
}
printf("\n");
}
5.20
#include
#defineN7
voidmain()
{
inti;
intj;
intm;
intk=N/2;
for(i=0;i{
m=i-k;
if(m<0)
{
m*=-1;
}
for(j=0;j{
printf("");
}
for(j=0;j<2*(k-m)+1;j++)
{
printf("*");
}
printf("\n");
}
}
第六章
一.選擇題
6.1B6.2D6.3A6.4A6.5B6.6D6.7D6.8B6.9A6.10A6.11C
二.填空題
6.12-1
6.131
6.14ctype.h
6.151
6.1610A20B30C40D
6.177.29101.298AB
6.18A7.29B101.298
6.19ABC(每個字符后有三個空格)
三.編程題
6.20
#include
#defineN80
voidmain()
{
charstr[N];
intiLoop=0;
gets(str);
while(str[iLoop])
{
printf("%c-%d\t",str[iLoop],str[iLoop]);
iLoop++;
if(iLoop%3==0)
{
printf("\n");
}
}
printf("\n");
}
6.21
#include
#defineN80
voidmain()
{
charstr[N];
intnum=0;
intiLoop=0;
gets(str);
while(str[iLoop])
{
if(str[iLoop]>='0'&&str[iLoop]<='9')
{
num=10*num+(str[iLoop]-'0');
}
iLoop++;
}
printf("%d\n",num);
}
6.22
#include
#include
#defineN80
voidmain()
{
charstr[N];
intnum=-1;
do
{
gets(str);
num++;
}while(strcmp(str,"EOF"));
printf("您輸入了%d行字符!\n",num);
}
6.23
#include
#defineN80
voidmain()
{
charstr[N];
intiLoop=0;
intnum=0;
gets(str);
while(str[iLoop]&&iLoop<N)
{
if(str[iLoop]>='a'&&str[iLoop]<='z')
{
num++;
}
iLoop++;
}
printf("您輸入了字符中有%d個小寫字母!\n",num);
}
6.24
#include
voidmain()
{
intline;
intiLoop1;
intiLoop2;
printf("請輸入圖案的行數(shù)(不大于26):");
scanf("%d",&line);
for(iLoop1=0;iLoop1<line;iLoop1++)
{
for(iLoop2=0;iLoop2<line-iLoop1;iLoop2++)
{
printf("");
}
for(iLoop2=0;iLoop2<2*iLoop1+1;iLoop2++)
{
printf("%c",iLoop1+'A');
}
printf("\n");
}
}第七章
一.選擇題
7.1C7.2C7.3B7.4C7.5A7.6D7.7A
二.填空題
7.812
7.99.000000
7.104
7.11n=1s
7.12<=yz*x
7.131s*i0f(k)
三.程序調(diào)試和編程題
7.14
fun(intn)
{intk,yes;
for(k=2;k<=n/2;k++)
{
if(n%k==0){yes=0;break;}
elseyes=1;
}
returnyes;
}
7.15
intmymod(inta,intb)
{
returna%b;
}
7.16
doublefun(intn)
{
doublesum=0;
intiLoop;
intsig=-1;
for(iLoop=1;iLoop<=n;iLoop++)
{
sig*=-1;
sum+=sig*1.0/iLoop;
}
returnsum;
}
7.17
doublefun(intn)
{
doublet=1.0;
intiLoop;
longtmp;
for(iLoop=2;iLoop<=n;iLoop++)
{
tmp=iLoop*iLoop;
t-=1.0/tmp;
}
returnt;
}
7.18
#include
#include
doublefun(doublex)
{
returnx*x+5*x+4;
}
voidmain()
{
intx=2;
printf("y1=%f\n",fun(x));
printf("y2=%f\n",fun(x+15));
printf("y3=%f\n",fun(sin(x)));
}第八章
一.選擇題
8.1A8.2B8.3B8.4C8.5B8.6B8.7C8.8D8.9B8.10C8.11C8.12C
二.填空題
8.13110
8.1471
8.15(1)char*p=&ch;(2)p=&ch;(3)scanf("%c",p);(4)*p='A';(5)printf("%c",*p);
8.16(1)s=p+3;(2)s=s-2(3)50(4)*(s+1)(5)2(6)1020304050
三.編程題
8.17
voidfun(doublex,doubley,double*sum,double*div)
{
*sum=x+y;
*div=x-y;
return;
}
8.18
voidfun(doublex,doubley,doublez,double*max,double*min)
{
*max=x;
*min=x;
if(*max<y)
{
*max=y;
}
if(*max<z)
{
*max=z;
}
if(*min>y)
{
*min=y;
}
if(*min>z)
{
*min=z;
}
return;
}
第九章
一.選擇題
9.1D9.2A9.3A9.4C9.5C9.6A9.7B9.8D9.9C9.10C
9.11C9.12D9.13D9.14A9.15A9.16A9.17C9.18C
二.填空題
9.1990
9.206
9.2112
9.223
9.232721
9.24-850,2,0
9.25k=pk
9.26(c=getchar())c-'A'
三.編程題
9.27
#include
#defineN81
intmain()
{
intcounter[10]={0};
intiLoop=0;
charstr[N];
gets(str);
while(str[iLoop])
{
if(str[iLoop]>='0'&&str[iLoop]<='9')
{
counter[str[iLoop]-'0']++;
}
iLoop++;
}
for(iLoop=0;iLoop<10;iLoop++)
{
printf("%d-%d\n",iLoop,counter[iLoop]);
}
return0;
}
9.28
voidfun(intarray[],intarraysize,intstart)
{
intiLoop;
if(start<arraysize-1)
{
if(start<=0)
{
start=1;
}
for(iLoop=start;iLoop<arraysize;iLoop++)
{
array[iLoop-1]=array[iLoop];
}
}
for(iLoop=0;iLoop<arraysize;iLoop++)
{
printf("No.%d=%d\n",iLoop,array[iLoop]);
}
}
9.29
intfun(intarry1[],intarry2[],intarrysize)
{
intiLoop;
intcounter=0;
for(iLoop=0;iLoop<arrysize;iLoop++)
{
if(arry1[iLoop]%2)
{
arry2[counter++]=arry1[iLoop];
}
}
returncounter;
}
9.30
voidfun(chararray[],intarraysize)
{
intiLoop1;
intiLoop2;
chartemp;
/*冒泡排序*/
for(iLoop1=0;iLoop1<arraysize-1;iLoop1++)
{
for(iLoop2=0;iLoop2<arraysize-1-iLoop1;iLoop2++)
{
if(array[iLoop2]<array[iLoop2+1])
{
temp=array[iLoop2];
array[iLoop2]=array[iLoop2+1];
array[iLoop2+1]=temp;
}
}
}
}
9.31
#include
voidfun(intarray[],intarraysize,intinertNumber)
{
intiLoop;
intiLoop2;
if(array[0]<array[arraysize-1])
{
for(iLoop=0;iLoop<arraysize;iLoop++)
{
if(array[iLoop]>inertNumber)
{
for(iLoop2=arraysize-1;iLoop2>=iLoop;iLoop2--)
{
array[iLoop2+1]=array[iLoop2];
}
array[iLoop]=inertNumber;
break;
}
}
if(iLoop>=arraysize)
{
array[arraysize]=inertNumber;
}
}
else
{
for(iLoop=0;iLoop<arraysize;iLoop++)
{
if(array[iLoop]<inertNumber)
{
for(iLoop2=arraysize-1;iLoop2>=iLoop;iLoop2--)
{
array[iLoop2+1]=array[iLoop2];
}
array[iLoop]=inertNumber;
break;
}
}
if(iLoop>=arraysize)
{
array[arraysize]=inertNumber;
}
}
}
intmain()
{
intiLoop;
inta[20]={7,6,5,3,2,1};
for(iLoop=0;iLoop<6;iLoop++)
{
printf("%d",a[iLoop]);
}
printf("\n");
fun(a,6,0);
for(iLoop=0;iLoop<7;iLoop++)
{
printf("%d",a[iLoop]);
}
printf("\n");
fun(a,7,4);
for(iLoop=0;iLoop<8;iLoop++)
{
printf("%d",a[iLoop]);
}
printf("\n");
fun(a,8,8);
for(iLoop=0;iLoop<9;iLoop++)
{
printf("%d",a[iLoop]);
}
printf("\n");
return0;
}
9.32
intfun(intnumber,intarray[])
{
intiLoop=0;
intiLoop2;
intbinLen;
intmidNumber;
intdiv;
intremain;
midNumber=number;
do
{
div=midNumber/2;
remain=midNumber%2;
midNumber=div;
array[iLoop++]=remain;
}while(midNumber);
binLen=iLoop;
for(iLoop2=0,iLoop=binLen-1;iLoop2<iLoop;iLoop2++,iLoop--)
{
midNumber=array[iLoop2];
array[iLoop2]=array[iLoop];
array[iLoop]=midNumber;
}
returnbinLen;
}
9.33
#include
#include
#defineN15
voidfun(intarray[],intarraysize)
{
intx;
intiLoop;
intiLoop2;
for(iLoop=0;iLoop<arraysize;iLoop++)
{
iLoop2=0;
x=rand()%20;
do
{
if(x==array[iLoop2]&&iLoop>0)
{
x=rand()%20;
iLoop2=0;
}
iLoop2++;
}while(iLoop2<iLoop);
array[iL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年能源管理與企業(yè)節(jié)能策略
- 第2單元雙休必讀經(jīng)典書
- 生成式人工智能在初中歷史課堂個性化教學(xué)中的應(yīng)用探討教學(xué)研究課題報告
- 高中生對基因編輯技術(shù)科學(xué)證據(jù)的批判性思維訓(xùn)練課題報告教學(xué)研究課題報告
- 護(hù)理部護(hù)理工作信息化建設(shè)匯報
- 新生兒臍帶護(hù)理全攻略
- 2026年玉林市公安局玉州分局從輔警招聘候錄庫中補(bǔ)錄人員10人備考題庫及答案詳解一套
- 中國醫(yī)學(xué)科學(xué)院系統(tǒng)醫(yī)學(xué)研究院蘇州系統(tǒng)醫(yī)學(xué)研究所2026年招聘20人備考題庫及1套完整答案詳解
- 2025-2030中國婚介市場發(fā)展趨勢及競爭狀況分析研究報告
- 2025-2030中國天然甜菊糖市場營銷策略及發(fā)展趨勢研究研究報告
- EPC總承包項目管理組織方案投標(biāo)方案(技術(shù)標(biāo))
- DB3711∕T 129-2023 露天礦山生態(tài)修復(fù)驗收規(guī)范
- 過年留人激勵方案
- 四川省德陽市第五中學(xué)2025-2026學(xué)年上學(xué)期八年級數(shù)學(xué)第一次月考試題(無答案)
- (英語)高一英語完形填空專題訓(xùn)練答案
- 公安副職競聘考試題庫及答案
- 口腔診所勞務(wù)合同協(xié)議書
- 2025年度商鋪裝修工程總包與施工合同
- 門窗維修協(xié)議合同范本
- 子宮肌瘤課件超聲
- 2025年異丙醇行業(yè)當(dāng)前發(fā)展現(xiàn)狀及增長策略研究報告
評論
0/150
提交評論