c语言程序设计答案 第五版 谭浩强
1.假如我國國民生產(chǎn)總值的年增長率為7%,計(jì)算10年后我國國民生產(chǎn)總值于現(xiàn)在相比增長多少百分比。計(jì)算公式為 p=(1+r)^2,
r為年增長率,n為年數(shù),p為于現(xiàn)在相比比的倍數(shù)。
c語言程序設(shè)計(jì)答案 第五版 譚浩強(qiáng)
2.存款利息的計(jì)算。有1000元,想存5年,可按以下5種辦法存:
(1)一次存5年期。
(2)先存2年期,到期后將本息再存3年期。
(3)先存3年期,到期后將本息再存2年期。
(4)存1年期,到期后將本息再存1年期,連續(xù)存5次。
(5)存活期存款。活期利息每一季度結(jié)算一次。
2007年12月的銀行存款利息如下:
1年期定期存款利息為4.14%;
2年期定期存款利息為4.68%;
3年期定期存款利息為5.4%;
5年期定期存款利息為5.85%;
活期存款利息為0.72%(活期存款每一季度結(jié)算一次)
1年期本息和:P=1000*(1+r);
n年期本息和:P=1000*(1+n*r);
存n次1年期的本息和:P=(1+r)^n;
活期存款本息和:P=1000*(1+r/4)^4n;
注意:1000*(1+r/4)^4n是一個(gè)季度的本息和;
c語言程序設(shè)計(jì)答案 第五版 譚浩強(qiáng)
c語言程序設(shè)計(jì)答案 第五版 譚浩強(qiáng)
3.購房從銀行貸了一筆款d, 準(zhǔn)備每月還款額為p, 月利率為r, 計(jì)算多少月能還清。設(shè)d為300000元,p為6000元,r為1%。對(duì)求得的月份取小數(shù)點(diǎn)后一位,對(duì)第2位按四舍五入處理。
公式為:m=log(p/(p-d*r))/log(1+r);
#include <stdio.h> #include <math.h> int main() {int d = 300000, p = 6000; //定義貸款總額,每月還貸數(shù)double r = 0.01, m, x, y; //定義利率,月份x = p / (p - d * r);y = 1 + r;m = log10(x) / log10(y); //計(jì)算公式printf("m=%.2lf\n", m);return 0; }4.分析下面程序:
#include<stdio.h> int main() {char c1,c2;c1=97;c2=98;printf("c1=%c,c2=%c\n",c1,c2);printf("c1=%d,c2=%d\n",c1,c2);return 0; }(1)運(yùn)行時(shí)會(huì)輸出什么信息?為什么?
輸出:c1=a,c2=b
c1=97,c2=98
因?yàn)榈谝恍衟rintf輸出格式為%c 為字符輸出對(duì)應(yīng)ASCII碼 第二行printf輸出格式為%d 為10進(jìn)制整型輸出
(2)如果將程序第4,5行改成 c1=197;c2=198;運(yùn)行時(shí)會(huì)輸出什么信息?為什么?
輸出:c1=(不存在ASCII碼里的符號(hào)),c2=(不存在ASCII碼里的符號(hào))
c1=197,c2=198
(3)如果將程序第3行改成 int c1,c2;運(yùn)行時(shí)會(huì)輸出什么信息?為什么?
c1=a,c2=b
c1=97,c2=98
因?yàn)榈谝恍衟rintf輸出格式為%c 為字符輸出對(duì)應(yīng)ASCII碼 第二行printf輸出格式為%d 為10進(jìn)制整型輸出
輸出內(nèi)容的類型由輸出格式而定c語言程序設(shè)計(jì)答案 譚浩強(qiáng)
5.用下面的scanf函數(shù)輸入數(shù)據(jù),使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。問在鍵盤上如何輸入?
#include<stdio.h> int main() {int a, b;float x, y;char c1, c2;scanf("a=%d b=%d",&a,&b);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;}輸入方式一及結(jié)果分析:
a=3 b=7
8.5 71.82Aa
a=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a
請(qǐng)按任意鍵繼續(xù)…
在輸入8.5和71.82兩個(gè)實(shí)數(shù)給x和y后,應(yīng)緊接著輸入字符A,中間不要有空格,由于字母A不是數(shù)字,系統(tǒng)在遇到字母A時(shí),就確定輸入給y的值已經(jīng)結(jié)束,字符A就送到下一個(gè)scanf語句中的字符變量c1。
輸入方式二及結(jié)果分析:
a=3 b=7
8.5 71.82 Aa
a=3,b=7,x=8.500000,y=71.820000,c1= ,c2=A
請(qǐng)按任意鍵繼續(xù)…
在輸入8.5和71.82兩個(gè)實(shí)數(shù)后,輸入的空格符就被c1讀入,c2讀入了字符A,故輸出c1時(shí)就輸出空格,輸出c2的值為A。
輸入方式三及結(jié)果分析:
a=3 b=7
8.5 71.82
Aa
a=3,b=7,x=8.500000,y=71.820000,c1=
,c2=A
請(qǐng)按任意鍵繼續(xù)…
在輸入8.5和71.82兩個(gè)實(shí)數(shù)后,按回車鍵再輸入Aa,這時(shí)“回車”被作為一個(gè)字符送到內(nèi)存輸入緩沖區(qū),被c1讀入,字符A被c2讀取,故在輸出c1時(shí),就輸出一個(gè)換行,在下一行輸出逗號(hào)和c2的值A(chǔ)。
請(qǐng)編程序?qū)ⅰ盋hina”譯成密碼,譯碼規(guī)律是用原來字母后面的第4個(gè)字母代替原來的字母。
例如,字母”A”后面第4個(gè)字母是”E”, “E”代替”A”。因此,”China”應(yīng)譯為”Glmre”。
請(qǐng)編一程序,用賦初值的方法使cl、c2、c3、c4、c5五個(gè)變量的值分別為’C’、’h’、’i’、’n’、’a’,經(jīng)過運(yùn)算,使c1、c2、c3、c4、c5分別變?yōu)椤疓’、’l’、’m’、’r’、’e’,并輸出。分別用putchar和printf函數(shù)輸出這5個(gè)字符。
c語言程序設(shè)計(jì)答案 第五版 譚浩強(qiáng)
設(shè)圓半徑r = 1.5,圓柱高h(yuǎn) = 3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積。要求:用scanf輸入數(shù)據(jù),取小數(shù)點(diǎn)后兩位。
8.用getchar函數(shù)讀入兩個(gè)字符給c1,c2,分別用putchar和printf輸出這兩個(gè)字符。思考以下問題:
(1)變量c1和c2定義為字符型還是整型?或二者皆可?
(2)要求輸出c1和c2的ASCII碼,應(yīng)如何處理?
(3)整形變量和字符變量是否在任何情況下都可以互相代替?char c1, c2;和int c1, c2;是否無條件等價(jià)?
#include<stdio.h>int main(){char c1, c2;printf("請(qǐng)輸入兩個(gè)字符c1,c2:");//輸入的兩個(gè)字符之間沒有空格,連續(xù)輸入c1 = getchar();c2 = getchar();printf("用putchar輸出結(jié)果為:");putchar(c1);putchar(c2);printf("\n");printf("用printf輸出結(jié)果為:");printf("%c %c\n",c1,c2);/*printf("%d,%d\n", c1, c2);*/return 0;}(1)c1和c2可以定義為字符型或整型,二者皆可。
(2)用printf函數(shù)輸出,使用%d格式符,即:
printf(“%d,%d\n”, c1, c2);
結(jié)果為:97,98
(3)字符變量占1個(gè)字節(jié),整型變量占2或4個(gè)字節(jié)。故整型變量在可輸出字符的范圍內(nèi)(ASCII碼為0到127之間的字符)是可以與字符型數(shù)據(jù)互相轉(zhuǎn)換的。如果整數(shù)在此范圍外,不能代替。c語言程序設(shè)計(jì)答案 第五版 譚浩強(qiáng)
總結(jié)
以上是生活随笔為你收集整理的c语言程序设计答案 第五版 谭浩强的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我和极客时间合作了一门产品创新课
- 下一篇: 关于win10优化问题