日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言程序设计答案 第五版 谭浩强

發(fā)布時(shí)間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言程序设计答案 第五版 谭浩强 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.假如我國國民生產(chǎn)總值的年增長率為7%,計(jì)算10年后我國國民生產(chǎn)總值于現(xiàn)在相比增長多少百分比。計(jì)算公式為 p=(1+r)^2,
r為年增長率,n為年數(shù),p為于現(xiàn)在相比比的倍數(shù)。

#include<stdio.h> #include<math.h>//pow為調(diào)用數(shù)學(xué)函數(shù)需要加math.h頭文件 int main() {int n;float p, r=0.07;for(n=1;n<=10;n++)p=pow((r+1),n);printf("p=%.2f",p);//%。2f保留兩位小數(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)

#include<stdio.h> #include<math.h> main() {float r5,r3,r2,r1,r0,p1,p2,p3,p4,p5,p;p = 1000;r0 = 0.0072;r1 = 0.0414 ;r2 = 0.0468;r3 = 0.054;r5 = 0.0585;p1 = p*(1+5*r5);//分別計(jì)算出5種方案的本息和p2 = p*(1 + 2 * r2)*(1 + 3 * r3);p3 = p*(1 + 3 * r3)*(1 + 2 * r2);p4 = p*pow(1+r1,5);p5 = p*pow(1 + r0/4,4*5);printf("p1=%f\n",p1);printf("p2=%f\n",p2);printf("p3=%f\n",p3);printf("p4=%f\n",p4);printf("p5=%f\n",p5);return 0; }

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è)字符。

#include<stdio.h>int main(){char c1='C',c2='h',c3='i',c4='n',c5='a';c1 += 4;c2 += 4;c3 += 4;c4 += 4;c5 += 4;printf("用printf輸出密碼為:%c%c%c%c%c\n", c1, c2, c3, c4, c5);printf("用putchar輸出密碼為:");putchar(c1);putchar(c2);putchar(c3);putchar(c4);putchar(c5);printf("\n");return 0;}

c語言程序設(shè)計(jì)答案 第五版 譚浩強(qiáng)
設(shè)圓半徑r = 1.5,圓柱高h(yuǎn) = 3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積。要求:用scanf輸入數(shù)據(jù),取小數(shù)點(diǎn)后兩位。

#include<stdio.h> #include<math.h>void main(){float r,h,pi=3.141592,C,S1,S2,V1,V2;printf("請(qǐng)輸入圓半徑圓柱高\(yùn)n");scanf("%f%f",&r,&h);C=4*pi*r;printf("圓周長=%2.2f\n",C);S1=pi*r*r; printf("圓面積=%2.2f\n",S1);S2=4*pi*r*r; printf("圓球表面積=%2.2f\n",S2);V1=(4/3)*pi*pow(r,3); printf("圓球體積=%2.2f\n",V1);V2=S1*h; printf("圓柱體積=%2.2f\n",V2); }

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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。