1、假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为,其中r为年增长率,n为年数,p为与现在相比的倍数

解析:从附录D(库函数)可以查到:可以用pow函数求p的值,调用pow函数的具体形式是pow(x,y)。

1、假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为​,其中r为年增长率,n为年数,p为与现在相比的倍数。


运行程序如下:

#include <stdio.h>
#include <math.h>
int main(){float p,r,n;r=0.07;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;
}

运行结果

2、存款利息的计算。有1000元,想存5年,可按以下5种办法存:
(1)一次存5年期

(2)先存2年期,到期后将本息再存3年期

(3)先存3年期,到期后将本息再存2年期

(4)存1年期,到期后将本息再存1年期,连续存5次

(5)存活期存款,活期利息每一季度结算一次

2017年银行存款利息如下:

1年期定期存款利息为1.5%;

2年期定期存款利息为2.1%;

3年期定期存款利息为2.75%;

5年期定期存款利息为3%;

活期存款利息为0.35%(活期存款每一季度结算一次利息)

如果r为年利率,n为存款年数,则计算本息的公式为:

1年期本息和: P= 1000×(1+r);

n年期本息和: P= 1000×(1+n× r);

存n次1年期的本息和: P = 1000×

活期存款本息和: P=1000×

 说明:1000×(1+)是一个季度的本息和。

解析:

设活期、一年期、两年期、三年期、四年期、五年期的年利率分别为r0、r1、r2、r3、r4、r5。

设按第一种方案、第二种方案......分别为p1、p2、p3、p4、p5。

运行程序如下:

#include <stdio.h>
#include <math.h>
int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.03;r3=0.0275;r2=0.021;r1=0.015;r0=0.0035;p1=p*(1+r5*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("pl= %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;
}

运行结果:

 3,购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300 000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五人处理。

提示:计算还清月数函数如下

可以将公式改写为

C的库函数中有求对数的函数lg10,是求以10为底的对数,lg(p)表示lg p。

运行程序如下:

#include <stdio.h>
#include <math.h>
int main(){float d=300000,p= 6000,r=0.01,m;m=log10(p/(p-d*r))/log10(1+r);printf("m=%6.1f\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)运行时会输出什么信息?为什么?

解:运行时输出

第一行是将c1,c2按%c的格式输出,97是字符a的ASCII码,98是字符b的ASCII码。

第二行是将c1,c2按%d的格式输出,所以输出两个十进制整数。

(2)如果将程序第4,5行改为

c1=197;

c2=198;

运行时会输出什么信息?为什么?

会输出

解:以Visual C++6.0字符型数据是作为signed char 类型处理的,它存字符的有效范围为0~127,超过此范围的处理方法,不同的系统得到的结果不同,因而用%c格式输出时,结果是不可预料的。

用%d格式输出时,输出c1=-59,c2=-58。这是按补码形式输出的,内存字节中第一位为1时,作为负数,59与197之和等于256,58与198之和也等于256,对此可暂不深究。

只要知道:用char类型变量时,给它的赋值应在0~127范围内。

(3)如果将程序第三行改为

int c1,c2;

运行时会输出什么信息?为什么?

解:如果给c1和c2的赋值是97,98,则输出结果与(1)相同。

5.用下面的scanf 函数输人数据,使a=3,b=7,x=8.5,y=71. 82,cl=‘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);return 0;
}

解:按如下方式在键盘上输入(见下面第1,2行,第3行是输出结果)。

注意:在输入8.5和71.82两个实数给x和y后,应紧接着输入字符A,中间不要有空格,由于A是字母而不是数字,系统在遇到字母A时就确定输入给y的数值已经结束。字符A就送到下一个scanf语句中的字符变量c1。如果在输入8.5和71.82两个实数后输入空格符,会怎么样呢?情况如下:

这时71.82后面输入的空格字符就被c1读入,c2读入了字符A。在输出c1时就输出空格,输出c2的值为A。

如果在输入8.5和71.82两个实数后按回车键,会怎么样呢?情况如下:

上面三行是输入,在输入71.82后按回车键。在这时“回车”被作为一个字符送到内存输入缓冲区,被c1读入(实际上c1读入的是回车符的ASCII码),字符A被c2读取,所以在执行printf函数输出c1时,就输出一个换行,在下一行输出逗号和c2的值A。

在用scanf函数输入数据时往往会出现一些意想不到的情况,例如在连续输入不同类型的数据(特别是数值型数据和字符数据连续输入)的情况,要注意回车符是可能被作为一个字符读入的。

通过此例,可以了解怎样正确进行输入数据。这些知识不能靠枯燥的死记规则,必须善于在实践中注意分析现象,不断总结经验。

6.请编程序将“China"译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China"应译为“Glmre”。请编一程序,用赋初值的方法使cl,c2,c3,c4,c5这5个变量的值分别为’C’,‘h’,‘i’,‘n’,‘a’ ,经过运算,使c1,c2,c3,c4,c5 分别变为’G’,‘l’,‘m’,‘r’,‘e’。分别用putchar函数和printf函数输出这5个字符。

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

运行结果如下

7.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输人数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。

#include<stdio.h>int main()
{float h, r, l, s, sq, vq, vz;float pi = 3.141526;printf("请输入圆半径r,圆柱高h∶");scanf("%f %f", &r, &h);               //要求输入圆半径r和圆柱高h l = 2 * pi*r;                          //计算圆周长ls = r*r*pi;                          //计算圆面积ssq = 4 * pi*r*r;                       //计算圆球表面积sqvq = 3.0 / 4.0*pi*r*r*r;               //计算圆球体积vqvz = pi*r*r*h;                       //计算圆柱体积vzprintf("圆周长为:       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;
}

运行结果:


说明:如果用Visual C++6.0中文版时对程序进行编译,在在程序中可以使用中文字符串,在输出时也能显示汉字。如果用英文的C编译系统,则无法使用中文字符串,读者可以改用英文字符串。

8. 编程序,用getchar函数读人两个字符给c1和c2,然后分别用putchar函数和printf函数输出这两个字符。思考以下问题:
(1) 变量cl和c2应定义为字符型、整型还是二者皆可?

(2) 要求输出cl和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?

(3) 整型变量与字符变量是否在任何情况下都可以互相代替?如:
char c1,c2;

int cl,c2;
是否无条件地等价?

解答:

(1)c1和c2也可以定义为字符型或整型,二者皆可。

(2)可以用printf函数输出,在printf函数中用%d格式符,即printf("%d,%d\n",c1,c2);

(3)字符变量在计算机内占1个字节,而整型变量占2个或4个字节。因此整型变量在可输出字符的范围内(ASCII码为0~127的字符)是可以与字符数据互相转换的。如果整数在此范围外,不能代替。

谭浩强第五版课后习题答案-----第三章相关推荐

  1. C程序设计谭浩强第五版课后答案 第三章习题答案

    C语言程序设计谭浩强第五版课后答案第三章 1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为p=(1+r)np = (1+r)^np=(1+r ...

  2. C语言程序设计(谭浩强第五版)——习题

    C语言程序设计(谭浩强第五版)--习题 第3章 最简单的C程序设计--顺序程序设计 第4章 选择结构程序设计 第5章 循环结构程序设计 第6章 利用数组处理批量数据 第3章 最简单的C程序设计--顺序 ...

  3. 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。谭浩强《C程序设计课后习题》第6章第10题。

    题目 本题是谭浩强<C程序设计课后习题>第6章第10题. 题目:有一篇文章,共有3行文字,每行有80个字符.要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数. 以下是 ...

  4. 《C语言程序设计》谭浩强-学习笔记以及课后习题答案(考前复习/考研/专升本)

    此笔记是几年前为了本人考试而学而写,今日回首感慨良多,便把尘封多年在旧电脑中的学习笔记翻出来分享给大家 此笔记参考书籍: <C语言程序设计>谭浩强 根据前九章内容主要知识点进行梳理 如果有 ...

  5. 计算机网络谢希仁第七版课后习题答案(第三章)

    3-01数据链路(即逻辑链路)与链路(即物理链路)有何区别? "电路接通了"与"数据链路接通了"的区别何在? 答案:数据链路与链路的区别在于数据链路出链路外,还 ...

  6. 谭浩强C程序设计的课后习题答案

    RT 很经典的一本书 希望对大家有帮助 转载于:https://blog.51cto.com/wall00d/137135

  7. c语言程序设计教程61页,谭浩强C语言程序设计课后习题答案所有的程序都有(61页)-原创力文档...

    第三章 )\n",c1,c1); 3.4 printf("c2='%c'or %d(ASCII main() )\n",c2,c2); {int a,b,c; } lon ...

  8. 微型计算机原理与接口技术(周荷琴 冯焕清)第六版 课后习题答案 第三章(部分答案)

    第三章 1.分别说明下列指令的源操作数和目的操作数各采用什么寻址方式. 源操作数  目的操作数            源操作数                    目的操作数 (1)MOV AX, ...

  9. c语言程序设计第五版课后习题答案谭浩强第八章课后题

    c语言程序设计第五版课后习题答案谭浩强第八章课后题 输入三个字符串,按由大到小的顺序输出 要求用指针实现 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个属兑换.写三个函数:1.输入 ...

  10. 《C语言程序设计》(谭浩强第五版) 第2章 算法——程序的灵魂

    <C语言程序设计>(谭浩强第五版) 第2章 算法--程序的灵魂 习题解析与答案 你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解 ...

最新文章

  1. 英伟达发布史上最强GPU,却叫停了自动驾驶车路测
  2. 【Java挠头】可变参、foreach、Annotation等特性
  3. 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现...
  4. 自学it18大数据笔记-第三阶段Spark-day04——会持续更新……
  5. 鼠标监听类适配器改良
  6. sandy引擎学习笔记: 创建一个立方体
  7. Faste R-CNN的安装及测试
  8. android bmob获取数据,Android基于bmob后端云实现数据读取
  9. ACM入门之新手入门
  10. AR涂涂乐⭐六、 UGUI精灵格式、自动延迟截图、优化“4”、移出扫描框终止截图进程
  11. C语言计算数字乘积根,C 乘积根
  12. 浅谈浏览器插件检测 和自定义协议的支持
  13. 错误信息 Error executing DDL via JDBC Statement 解决办法
  14. fork和lockf应用
  15. 2019-07-12 函数递归、二分法、匿名函数、三元表达式、内置函数
  16. 正版手机应用导航,排排坐网站的初衷
  17. python:gettext --- 多语种国际化服务
  18. linux i2c 端口 usb,做了一个电容屏的IIC接口转USB
  19. 初等行变换、初等列变换
  20. 计算机图形学之组合图形的绘制(主要是渐变的实现)

热门文章

  1. C-V2X行业现状、产业化部署与演进路线
  2. 世界电子书展:号称最大的电子书库
  3. 毕业论文中期报告PPT模板
  4. cad完全卸载教程_怎么把CAD卸载干净,老司机来教你
  5. CTF_ CRYPTO(Cryptography)_密码学/密码编码学
  6. 达人评测 华为watch gt2和gt选哪个好
  7. 数据库索引:索引并不是万能药
  8. 新老系统迁移及整合方案
  9. 十二时辰及经络走向图
  10. [4G5G专题-59]:L3 RRC层-RRC层概述与总体架构、ASN.1消息、无线承载SRB, DRB、终端三种状态、MIB, SIB,NAS消息类型