《C語言程序設(shè)計(jì)》課后習(xí)題答案譚浩強(qiáng).docx
《《C語言程序設(shè)計(jì)》課后習(xí)題答案譚浩強(qiáng).docx》由會員分享,可在線閱讀,更多相關(guān)《《C語言程序設(shè)計(jì)》課后習(xí)題答案譚浩強(qiáng).docx(62頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第1章程序設(shè)計(jì)和C語言1
1.1什么是計(jì)算機(jī)程序1
1.2什么是計(jì)算機(jī)語言1
1.3C語言的發(fā)展及其特點(diǎn)3
1.4最簡單的C語言程序5
1.4.1最簡單的C語言程序舉例6
1.4.2C語言程序的結(jié)構(gòu)10
1.5運(yùn)行C程序的步驟與方法12
1.6程序設(shè)計(jì)的任務(wù)14
1-5 #include
2、);
return 0;
}
1-6#include 3、個算法22
2.4.1用自然語言表示算法22
2.4.2用流程圖表示算法22
2.4.3三種基本結(jié)構(gòu)和改進(jìn)的流程圖26
2.4.4用NS流程圖表示算法28
2.4.5用偽代碼表示算法31
2.4.6用計(jì)算機(jī)語言表示算法32
2.5結(jié)構(gòu)化程序設(shè)計(jì)方法34
習(xí)題36
第章最簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)37
3.1順序程序設(shè)計(jì)舉例37
3.2數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算39
3.2.1常量和變量39
3.2.2數(shù)據(jù)類型42
3.2.3整型數(shù)據(jù)44
3.2.4字符型數(shù)據(jù)47
3.2.5浮點(diǎn)型數(shù)據(jù)49
3.2.6怎樣確定常量的類型51
3.2.7運(yùn)算符和表達(dá)式52
4、3.3C語句57
3.3.1C語句的作用和分類57
3.3.2最基本的語句——賦值語句59
3.4數(shù)據(jù)的輸入輸出65
3.4.1輸入輸出舉例65
3.4.2有關(guān)數(shù)據(jù)輸入輸出的概念67
3.4.3用printf函數(shù)輸出數(shù)據(jù)68
3.4.4用scanf函數(shù)輸入數(shù)據(jù)75
3.4.5字符數(shù)據(jù)的輸入輸出78
習(xí)題82
3-1 #include 5、
3-2-1
#include 6、再存2年期
p4=p*pow(1+r1,5); // 存1年期,到期后將本息存再存1年期,連續(xù)存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款?;钇诶⒚恳患径冉Y(jié)算一次
printf("p1=%f\n",p1); // 輸出按第1方案得到的本息和
printf("p2=%f\n",p2); // 輸出按第2方案得到的本息和
printf("p3=%f\n",p3); // 輸出按第3方案得到的本息和
printf("p4=%f\n",p4); // 輸出按第4方案得到的本息和
pr 7、intf("p5=%f\n",p5); // 輸出按第5方案得到的本息和
return 0;
}
3-2-2
#include 8、期,到期后將本息再存3年期
p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后將本息再存2年期
p4=p*pow(1+r1,5); // 存1年期,到期后將本息存再存1年期,連續(xù)存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度結(jié)算一次
printf("p1=%f\n",p1); // 輸出按第1方案得到的本息和
printf("p2=%f\n",p2); // 輸出按第2方案得到的本息和
printf("p3=%f\n",p3); // 輸出按第3 9、方案得到的本息和
printf("p4=%f\n",p4); // 輸出按第4方案得到的本息和
printf("p5=%f\n",p5); // 輸出按第5方案得到的本息和
return 0;
}
3-2-3
#include 10、 // 一次存5年期
p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后將本息再存3年期
p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后將本息再存2年期
p4=p*pow(1+r1,5); // 存1年期,到期后將本息存再存1年期,連續(xù)存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款?;钇诶⒚恳患径冉Y(jié)算一次
printf("p1=%10.2f\n",p1); // 輸出按第1方案得到的本息和
printf("p2=%10.2f\n", 11、p2); // 輸出按第2方案得到的本息和
printf("p3=%10.2f\n",p3); // 輸出按第3方案得到的本息和
printf("p4=%10.2f\n",p4); // 輸出按第4方案得到的本息和
printf("p5=%10.2f\n",p5); // 輸出按第5方案得到的本息和
return 0;
}
3-3.
#include 12、))/log10(1+r);
printf("m=%6.2f\n",m);
return 0;
}
3-4
#include 13、
scanf("%f %e",&x,&y);
scanf("%c%c",&c1,&c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);
return 0;
}
3-6
#include 14、0;
}
3-7
#include 15、球表面積sq
vq=3.0/4.0*pi*r*r*r; //計(jì)算圓球體積vq
vz=pi*r*r*h; //計(jì)算圓柱體積vz
printf("圓周長為: l=%6.2f\n",l);
printf("圓面積為: s=%6.2f\n",s);
printf("圓球表面積為: sq=%6.2f\n",sq);
printf("圓球體積為: v=%6.2f\n",vq);
printf("圓柱體積為: vz=%6.2f\n",vz);
return 0;
}
3-8 16、-1
#include 17、2; //定義字符型變量
int i1,i2; //定義整型變量
printf("請輸入兩個字符c1,c2:");
scanf("%c,%c",&c1,&c2);
i1=c1; //賦值給整型變量
i2=c2;
printf("按字符輸出結(jié)果:\n");
printf("%c,%c\n",i1,i2);
printf("按整數(shù)輸出結(jié)果:\n");
printf("%d,%d\n",c1,c2);
return 18、 0;
}
3-8-3
#include 19、:\n");
printf("%c,%c\n",c1,c2);
printf("按整數(shù)輸出結(jié)果:\n");
printf("%d,%d\n",c1,c2);
return 0;
}
3-8
#include 20、:");
printf("%c %c\n",c1,c2);
return 0;
}
第4章選擇結(jié)構(gòu)程序設(shè)計(jì)85
4.1選擇結(jié)構(gòu)和條件判斷85
4.2用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)87
4.2.1用if語句處理選擇結(jié)構(gòu)舉例87
4.2.2if語句的一般形式 89
4.3關(guān)系運(yùn)算符和關(guān)系表達(dá)式91
4.3.1關(guān)系運(yùn)算符及其優(yōu)先次序91
4.3.2關(guān)系表達(dá)式92
4.4邏輯運(yùn)算符和邏輯表達(dá)式92
4.4.1邏輯運(yùn)算符及其優(yōu)先次序93
4.4.2邏輯表達(dá)式94
4.4.3邏輯型變量96
4.5條件運(yùn)算符和條件表達(dá)式97
4.6選擇結(jié)構(gòu)的嵌套99
4.7用switch語句實(shí)現(xiàn) 21、多分支選擇結(jié)構(gòu)102
4.8選擇結(jié)構(gòu)程序綜合舉例105
習(xí)題111
4-4-1
#include 22、
#include 23、e 24、in()
{
int i,k;
printf("請輸入一個小于%d的整數(shù)i:",M);
scanf("%d",&i);
if (i>M)
{printf("輸入的數(shù)不符合要求,請重新輸入一個小于%d的整數(shù)i:",M);
scanf("%d",&i);
}
k=sqrt(i);
printf("%d的平方根的整數(shù)部分是:%d\n",i,k);
return 0;
}
4-6.
#include 25、 /* x<1 */
{ y=x;
printf("x=%3d, y=x=%d\n" ,x,y);
}
else if(x<10) /* 1= 26、ntf("enter x:");
scanf("%d",&x);
y=-1;
if(x!=0)
if(x>0)
y=1;
else
y=0;
printf("x=%d,y=%d\n",x,y);
return 0;
}
4-7-2
#include 27、}
4-8
#include 28、 6: grade=D;break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: grade=E;
}
printf("成績是 %5.1f,相應(yīng)的等級是%c\n ",score,grade);
return 0;
}
4-9
#include 29、scanf("%d",&num);
if (num>9999)
place=5;
else if (num>999)
place=4;
else if (num>99) //分別代表個位,十位,百位,千
place=3;
else if (num>9)
place=2;
else place=1;
printf("位數(shù):%d\n",place);
printf("每位數(shù)字為:");
ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten 30、_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
switch(place)
{case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
printf("\n反序數(shù)字為:");
printf("%d%d%d%d 31、%d\n",indiv,ten,hundred,thousand,ten_thousand);
break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("\n反序數(shù)字為:");
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
break;
case 3:printf("%d,%d,%d",hundred,ten,indiv);
printf("\n反序數(shù)字為:");
printf("%d%d%d\n",indiv,ten,hundred);
32、break;
case 2:printf("%d,%d",ten,indiv);
printf("\n反序數(shù)字為:");
printf("%d%d\n",indiv,ten);
break;
case 1:printf("%d",indiv);
printf("\n反序數(shù)字為:");
printf("%d\n",indiv);
break;
}
return 0;
}
4-10-1
#include 33、0*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+100000*0.05;
bon6=bon4+100000*0.03;
bon10=bon6+400000*0.015;
printf("請輸入利潤i:");
scanf("%d",&i);
if (i<=100000)
bonus=i*0.1;
else if (i<=200000)
bonus=bon1+(i-100000)*0.075;
else if (i<=400000)
bonus=bon2+(i-200000)*0.05;
else if (i<=600000)
bonu 34、s=bon4+(i-400000)*0.03;
else if (i<=1000000)
bonus=bon6+(i-600000)*0.015;
else
bonus=bon10+(i-1000000)*0.01;
printf("獎金是: %10.2f\n",bonus);
return 0;
}
4-10-2
#include 35、0*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
printf("請輸入利潤i:");
scanf("%d",&i);
branch=i/100000;
if (branch>10) branch=10;
switch(branch)
{ case 0:bonus=i*0.1;break;
case 1:bonus=bon1+(i-100000)*0.075;break;
case 2:
case 3: bonus=bon2+(i-200000)*0.05; 36、break;
case 4:
case 5: bonus=bon4+(i-400000)*0.03;break;
case 6:
case 7:
case 8:
case 9: bonus=bon6+(i-600000)*0.015;break;
case 10: bonus=bon10+(i-1000000)*0.01;
}
printf("獎金是 %10.2f\n",bonus);
return 0;
}
4-11
#include 37、("%d,%d,%d,%d",&a,&b,&c,&d);
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
if (a>b)
{ t=a;a=b;b=t;}
if (a>c)
{ t=a;a=c;c=t;}
if (a>d)
{ t=a;a=d;d=t;}
if (b>c)
{ t=b;b=c;c=t;}
if (b>d)
{ t=b;b=d;d=t;}
if (c>d)
{ t=c;c=d;d=t;}
printf("排序結(jié)果如下: \n");
printf("%d %d %d %d \n" ,a,b,c,d);
r 38、eturn 0;
}
4-12
#include 39、y2);
d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);
if (d1>1 && d2>1 && d3>1 && d4>1) h=0; /*判斷該點(diǎn)是否在塔外*/
printf("該點(diǎn)高度為 %d\n",h);
return 0;
}
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)114
5.1為什么需要循環(huán)控制114
5.2用while語句實(shí)現(xiàn)循環(huán)115
5.3用do…while語句實(shí)現(xiàn)循環(huán)117
5.4用for 語句實(shí)現(xiàn)循環(huán)120
5.5循環(huán)的嵌套124
5.6幾種循環(huán)的比較125
5.7改變循環(huán)執(zhí)行的狀態(tài)125
5.7.1用break語句提前終止循環(huán)126
5 40、.7.2用continue語句提前結(jié)束本次循環(huán)127
5.7.3break語句和continue語句的區(qū)別128
5.8循環(huán)程序舉例131
習(xí)題140
5-2
#include 41、后代表π的值, n代表分母,term代表當(dāng)前項(xiàng)的值
while(fabs(term)>=1e-8) // 檢查當(dāng)前項(xiàng)term的絕對值是否大于或等于10的(-6)次方
{
pi=pi+term; // 把當(dāng)前項(xiàng)term累加到pi中
n=n+2; // n+2是下一項(xiàng)的分母
sign=-sign; // sign代表符號,下一項(xiàng)的符號與上一項(xiàng)符號相反 term=sign/n; // 求出下一項(xiàng)的值t 42、erm
count++; // count累加1
}
pi=pi*4; // 多項(xiàng)式的和pi乘以4,才是π的近似值 printf("pi=%10.8f\n",pi); // 輸出π的近似值
printf("count=%d\n",count); // 輸出循環(huán)次數(shù)
return 0;
}
5-3
#include 43、anf("%d,%d,",&n,&m);
if (n 44、((c=getchar())!=\n)
{
if (c>=a && c<=z || c>=A && c<=Z)
letters++;
else if (c== )
space++;
else if (c>=0 && c<=9)
digit++;
else
other++;
}
printf("字母數(shù):%d\n空格數(shù):%d\n數(shù)字?jǐn)?shù):%d\n其它字符數(shù):%d\n",letters,space,digit,other); return 0;
}
5-5
#include 45、0;
printf("a,n=:");
scanf("%d,%d",&a,&n);
while (i<=n)
{
tn=tn+a; /*賦值后的tn為i個 a組成數(shù)的值*/
sn=sn+tn; /*賦值后的sn為多項(xiàng)式前i項(xiàng)之和*/
a=a*10;
++i;
}
printf("a+aa+aaa+...=%d\n",sn);
return 0;
}
5-6
#include 46、tf("1!+2!+...+20!=%22.15e\n",s);
return 0;
}
5-7
#include 47、sum=%15.6f\n",s1+s2+s3);
return 0;
}
5-8
#include
- 溫馨提示:
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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案