c语言详解(第五版)第三章程序设计项目答案
c语言程序设计第五版谭浩强习题答案第三章课后答案

c语⾔程序设计第五版谭浩强习题答案第三章课后答案第三章最简单的C程序设计 ----顺序程序设计1、假如我国国民⽣产总值的年增长率为7%,计算10年后我国国民⽣产总值与现在相⽐增长多少百分⽐。
计算公式为$p = (1+r)^n$ ,其中r为年增长率,n为年数,p为与现在相⽐的倍数。
题⽬解析:此题的关键主要是利⽤数学库math中pow函数进⾏计算,若不熟悉可以查阅帮助⽂档,查看pow函数的⽤法。
代码⽰例:#include<stdio.h>#include <math.h>int main(){Cfloat 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* (1+r)^n$;活期存款本息和: P= 1000 *(1+$\frac{r}{4}$)$^{4n}$;说明: 1000*(1+$\frac{r}{4}$)是⼀个季度的本息和。
题⽬解析:理解题意很关键,其次就是利⽤数学库math中pow函数进⾏幂次⽅计算代码⽰例:#include<stdio.h>#include <math.h>int main(){float r5, r3, r2, r1, r0, p, p1, p2, p3, p4, p5;p = 1000;r5 = 0.0585;r3 = 0.054;r2 = 0.0468;r1 = 0.0414;r0 = 0.0072;p1 = p*((1 + r5) * 5); // ⼀次存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年期,连续存5次p5 = p*pow(1 + r0 / 4, 4 * 5); // 存活期存款。
C语言程序设计课后各章节习题答案

main()
{
float x,y,d;
printf("Input x,y:");
scanf("%f,%f",&x,&y);
d=sqrt((x-2)*(x-2)+(y-2)*(y-2));
if(d>1)printf(ntf("inside");
}
12有一函数
x-1 -5<x<0
y= x x=0
x+1 0<x<8
编写一程序,要求输入x的值,输出y的值。分别用不嵌套的if语句,嵌套的if语句,switch语句编写。
答使用不嵌套的if语句程序如下:
main()
{
int x,y;
printf("Input x:");
scanf("%d",&x);
答main()
{
int x,a,b,c;
printf("Input number:");
scanf("%d",&x);
a=x/100;/*变量a中记录x的百倍数字*/
b=x/10%10;/*变量b中记录x的十位数字*/
c=x%10;/*变量c中记录x的个位数字*/
if(a*a*a+b*b*b+c*c*c==x)
if(m==2)
d=28+f;
else
d=31-(m==4)+(m==6)+(m==9)+(m==11);
printf("%d-%d is %d days.\n",y,m,d);
C语言 第三章 顺序结构程序设计期末测试习题与答案

B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!c;
c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。
#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。
标准c程序设计第5版答案

标准c程序设计第5版答案【篇一:c-primer-plus(第五版)编程练习全部答案.】练习1.您刚刚被 macromuscle 有限公司(software for hard bodies)聘用。
该公司要进入欧洲市场,需要一个将英寸转换为厘米(1 英寸=2.54 cm)的程序。
他们希望建立的该程序可提示用户输入英寸值。
您的工作是定义程序目标并设计该程序(编程过程的第 1 步和第 2 步)。
1.将英寸值转化为厘米值2.显示“输入英寸值”-得到该值-转换为厘米值-存储-告知用户已结束第二章 c 语言概述编程练习1.编写一个程序,调用 printf()函数在一行上输出您的名和姓,再调用一次 printf()函数在两个单独的行上输出您的名和姓,然后调用一对 printf()函数在一行上输出您的名和姓。
输出应如下所示(当然里面要换成您的姓名):anton brucknerantonbruckneranton bruckner第一个输出语句第二个输出语句仍然是第二个输出语句第三个和第四个输出语句#includestdio.hint main(void){printf(he jin\n);printf(he\n);printf(jin\n);printf(he jin\n);return(0);}2.编写一个程序输出您的姓名及地址。
#includestdio.hint main(void){printf(name:he jin\n);printf(address:cauc\n);return(0);}3.编写一个程序,把您的年龄转换成天数并显示二者的值。
不用考虑平年( fractional year) 和闰年(leapyear)的问题。
#includestdio.hint main(void){int age=22;printf(age:%d\n,age);printf(day:%d\n,age*356);return(0);}4.编写一个能够产生下面输出的程序:for hes a jolly good fellow!for hes a jolly good fellow!for hes a jolly good fellow!which nobody can deny!程序中除了 main()函数之外,要使用两个用户定义的函数:一个用于把上面的夸奖消息输出一次:另一个用于把最后一行输出一次。
C语言答案(删减版)

C语言答案()第一章C语言程序设计基础习题参考答案1-1 冯·诺依曼体系结构的基本原理:五大构成部分:输入、输出、CPU、控制器、存储器;程序存储、自动执行、逻辑判断功能;二进制的信息表示。
1-6 编辑、编译、链接、执行。
1-7 必须有一个主函数,它是程序执行的起点;一个C语言程序由函数构成;每一条可执行语句都必须由分号结束;函数的代码段必须由花括号对括住。
一个函数中的语句组由声明区和可执行语句区两部分构成。
1-8 三个一缩;每遇到一个结构时均缩格,每结束一个结构时回退;缩格格式必须对齐。
1-9 试给出以下问题的程序设计过程描述:1) 求两个数中之最大者。
#include<stdio.h>int main(void){float fA,fB;clrscr();printf("Please input two values(fA,fB)::"); /*输入要比较的两个数fA,fB*/scanf("%f,%f",&fA,&fB); /*格式化输入fA,fB*/if(fA>=fB) printf("the max is %f",fA);if(fA<fB) printf("the max is %f",fB);return 0;} /*main()函数结束*/2) 求三个数中之最大者。
#include<stdio.h>int main(void){float fA,fB,fC,fMax;printf("Please input three values(fA,fB,fC)::");/*fA,fB,fC是输入的3个数,fMax存放最大值*/scanf("%f,%f,%f",&fA,&fB,&fC);fMax=fA;/*假定fA最大*/if(fMax<fB) fMax=fB;if(fMax<fC) fMax=fC;printf("The max is %f\n",fMax);/*输出最大值*/return 0;} /*main()函数结束*/3) 求1+2+3+…+100,即。
c语言程序设计第五版习题答案

c语言程序设计第五版习题答案习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】语言简洁、紧凑,使用方便、灵活。
数据类型丰富,表达能力强。
运算符多样。
C语言中的运算符包含的范围非常广泛。
具有结构化的控制语句。
如ifelse语句、while语句、do while语句、switch语句、for语句。
允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么它哪几部分组成【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】xx;编译;连接,生成EXE文件;执行。
二.运行程序写结果1.输入下面程序并运行。
main {int a1,a2,x; a1=100; a2=50; x=a1-a2;printf; }【解答】运行结果为:x=50 2.输入下面程序并运行。
main {int a1,a2,x; a1=10; a2=20; x=a1*a2;printf; printf;}【解答】运行结果为:a1=10,a2=20 x=2001三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息: *************************I love C programs! ************************* 【分析与提示】①要有文件包含语句#include 。
C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。
这些函数的说明都包括在文件中。
②main是主函数的名称。
用{}括起来的内容是函数体,函数体若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。
③注意显示的信息有三行,所以要用到换行符“\\n”。
c语言程序设计第三章答案

c语言程序设计第三章答案第三章:运算符与表达式一、算术运算符在C语言中,算术运算符用于在表达式中执行各种数学运算。
常见的算术运算符有加法运算符(+)、减法运算符(-)、乘法运算符(*)和除法运算符(/)等。
1. 加法运算符(+)加法运算符用于将两个操作数相加,并返回它们的和。
例如,表达式a + b将返回a和b的和。
2. 减法运算符(-)减法运算符用于从第一个操作数中减去第二个操作数,并返回它们的差。
例如,表达式a - b将返回a和b的差。
3. 乘法运算符(*)乘法运算符用于将两个操作数相乘,并返回它们的积。
例如,表达式a * b将返回a和b的积。
4. 除法运算符(/)除法运算符用于将第一个操作数除以第二个操作数,并返回它们的商。
例如,表达式a / b将返回a除以b的商。
二、关系运算符关系运算符用于比较两个操作数并返回一个布尔值(真或假)。
常见的关系运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)等。
1. 大于运算符(>)大于运算符用于检查第一个操作数是否大于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a > b将返回真或假。
2. 小于运算符(<)小于运算符用于检查第一个操作数是否小于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a < b将返回真或假。
3. 大于等于运算符(>=)大于等于运算符用于检查第一个操作数是否大于或等于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a >= b 将返回真或假。
4. 小于等于运算符(<=)小于等于运算符用于检查第一个操作数是否小于或等于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a <= b 将返回真或假。
5. 等于运算符(==)等于运算符用于检查两个操作数是否相等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言详解(第五版)第三章程序设计项目答案1.假设买一辆车首付为500dollar。
请计算月供。
#include<stdio.h>#include<math.h>#include<stdlib.h>int main(void){double capital_sum,monthly_interest_rate,initial_payment,temp,payment,terms; printf("Please enter the price of the car>>");scanf("%lf",&capital_sum);printf("Please enter the monthly interest rate>>");scanf("%lf",&monthly_interest_rate);printf("Please enter the terms duration of loan>>");scanf("%lf",&terms);printf("Please enter the initial_payment>>");scanf("%lf",&initial_payment);temp=1+monthly_interest_rate;payment=(capital_sum-500)*monthly_interest_rate/(1-pow(temp,-terms));printf("The monthly contribution is %.2f dollars.",payment);printf("The capital sum is %.2f dollars.",capital_sum);system("pause");return 0;}2.编写两个函数,一个显示三角形,另一个显示矩形。
#include<stdio.h>#include<math.h>#include<stdlib.h>void draw_triangle(void);void draw_rectangle(void);int main(void){draw_triangle();draw_rectangle();system("pause");return 0;}/*Draw an triangle.*/void draw_triangle(void){ printf(" /\\ \n");printf(" / \\ \n");printf(" / \\ \n");printf(" / \\ \n");printf(" -------- \n");}void draw_rectangle(void){ printf(" ------------ \n");printf("| |\n| |\n| |\n");printf(" ------------ \n");}4.编写一个计算机程序,用于计算导弹飞行的实践和它击中目标时距离地面的高度。
#include<stdio.h>#include<math.h>#include<stdlib.h>#define G 32.17double time(); /*必须要有*/double height(); /*必须要有*/int main(void){double time(double,double,double); /*必须要有*/double height(double,double,double); /*必须要有*//double theta,distance,velocity,a,b;printf("The theta of elevation is>>");scanf("%lf",&theta);printf("The distance to target is>>");scanf("%lf",&distance);printf("The projectile velocity (ft/sec) is>>");scanf("%lf",&velocity);a=time(theta,distance,velocity); /*赋值将函数转化为变量*/b=height(a,theta,velocity); /*赋值将函数转化为变量*/printf("The time is %f seconds and the height is %f ft.",a,b);system("pause");return 0;}double time(double theta,double distance,double velocity) /*数据类型一定要写好*/ {double time;time=distance/(velocity*cos(theta));return(time);}double height(double a,double theta,double velocity) /*数据类型一定要写好*/ {double height;height=velocity*sin(theta)*a-G*pow(a,2)/2;return(height);}5.编写一个四舍五入的函数#include<stdio.h>#include<math.h>#include<stdlib.h>double scale(double x,int n);int main(void){double scale(double,int);int n=2;printf("Please enter x>>");scanf("%lf",&num_1);printf("The rounded x is %.2f.",scale(num_1,n));system("pause");return 0;}double scale(double num_1,int n){double y,rounded_x;int z;y=num_1*100;z=(int)(y+0.5);rounded_x=(double)(z);return(rounded_x/100);}6.计算1km路程中的速度#include<stdio.h>#include<math.h>#include<stdlib.h>double mile_velocity(double miles,double time);double meter_velocity(double kilometers,double time);int main(void){ double mile_velocity(double,double);double meter_velocity(double,double);double time,kilometers,minutes,seconds;printf("please enter the length of race>>");scanf("%lf",&kilometers);printf("please enter the time of race>>");scanf("%lf%lf",&minutes,&seconds);time=minutes*60+seconds;printf("the velocity of candidate is %.2f mps.\n",meter_velocity(kilometers,time)); /*一个函数只能返回一个数值。
*/printf("the velocity of candidate is %.2f fps.\n",mile_velocity(kilometers,time)); system("pause");return 0;}double mile_velocity(double kilometers,double time){double velocity,miles;miles=kilometers*3282/5280;velocity=miles/time;return(velocity);}double meter_velocity(double kilometers,double time)velocity=kilometers/time;return(velocity);}7.买房子,5年的开销。
#include<stdio.h>#include<math.h>#include<stdlib.h>double feul_cost(double x);double property_tax(double initial_payment,double tax_rate);int main(void){double x,tax_rate,initial_payment;printf("Please enter the feul cost per year>>");scanf("%lf",&x);printf("Please enter the property rate per year>>");scanf("%lf",&tax_rate);printf("Please enter the initial payment>>");scanf("%lf",&initial_payment);printf("The feul cost of five years is %.2f dollars\n",feul_cost(x));printf("The property tax of five years is %.2fdollars\n",property_tax(initial_payment,tax_rate));system("pause");return 0;}double feul_cost(double x){return(x*5);}double property_tax(double initial_payment,double tax_rate){return(initial_payment*tax_rate*5);}8.计算一个人骑着自行车的加速度和降速所需要的时间#include<stdio.h>#include<stdlib.h>#include<math.h>double deceleration(double initial_velocity,double final_velocity,double time); double deceleration_time(double initial_velocity,double a);int main(void){double initial_velocity,final_velocity,time,a,t;printf("Please enter the initial velocity>>");scanf("%lf",&initial_velocity);printf("Please enter the final velocity>>");scanf("%lf",&final_velocity);printf("Please enter the deceleration time>>");scanf("%lf",&time);a=deceleration(initial_velocity,final_velocity,time);t=deceleration_time(initial_velocity,a);printf("The deceleration is %.2f unit.",a);printf("The deceleration time is %.2f unit.",t);system("pause");return 0;}double deceleration(double initial_velocity,double final_velocity,double time){double a;a=(final_velocity-initial_velocity)/time;return(a);}double deceleration_time(double initial_velocity,double a){double t;t=fabs(initial_velocity/a);return(t);}9.计算每个容器的开销和所有容器总共的开销。