c程序设计教程课后习题答案吉顺如版

上传人:第*** 文档编号:56882578 上传时间:2018-10-16 格式:DOCX 页数:59 大小:29.72KB
返回 下载 相关 举报
c程序设计教程课后习题答案吉顺如版_第1页
第1页 / 共59页
c程序设计教程课后习题答案吉顺如版_第2页
第2页 / 共59页
c程序设计教程课后习题答案吉顺如版_第3页
第3页 / 共59页
c程序设计教程课后习题答案吉顺如版_第4页
第4页 / 共59页
c程序设计教程课后习题答案吉顺如版_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《c程序设计教程课后习题答案吉顺如版》由会员分享,可在线阅读,更多相关《c程序设计教程课后习题答案吉顺如版(59页珍藏版)》请在金锄头文库上搜索。

1、第 1 章习题一、选择题1、A 2、D 3、C 4、D 5、B 6、C 7、C 8、B 9、B 10、A二、填空题1、一,函数体2、main(主),main(主)3、编译,目标4、.c,.obj,.exe5、缩进,无影响,/* */三、程序分析题1、*Very good!*2、a=12,b=5a=17,b=223、r= 5.50,s=95.033098四、编程题1用 printf()函数在屏幕上输出自己的班级、学号、姓名。#include“stdio.h“void main()printf(“班级:BX1109n“);printf(“学号:111003530901n“);printf(“姓名:

2、王孟荣n“);2从键盘输入两个整数,计算它们的和、差、积、商,并在屏幕上输出结果。#includevoid main()int x,y,a,b,c;float d;printf(“Please Input Two Integers:n“);scanf(“%d%d“,a=x+y;b=x-y;c=x*y;d=1.0*x/y;printf(“a=%dnb=%dnc=%dnd=%fn“,a,b,c,d);第 2 章习题一、选择题15 BCDCD610 DBBCA二、填空题1单精度浮点型、双精度浮点型、字符型203x%10*10+x/1045.555.7 206sin(sqrt(x*x)/(a*b)7

3、,81111011 173 7B93 3103三、程序分析题1 7,8,102 1,33. 5 F4 (int)i=12, 12.505 461579112四、编程题1编写程序,求表达式 c=21%9-(float)a+4/b*b 的值,假设表达式中 a 和 b 的值分别由键盘输入。#includevoid main( )int a,b;float c;printf(“Please input data a,b: “);scanf(“%d%d“,c=21%9-(float)a+4/b*b;printf(“c=%5.2fn“, c);2. 编写程序,从键盘输入两个整数存入变量 a 和 b 中,求

4、 a2-b2 的值并输出。#includevoid main( )int a,b,c;printf(“Please input data a,b: “);scanf(“%d%d“,c=a*a-b*b;printf(“c=%dn“, c);第 3 章习题一、选择题12345678910DCA、B ABBB、C BDD二、填空题1. 有穷性 确定性 可行性2. #3. 从终端(键盘)输入一个字符4. m d5. 97,g6. 123.456000, 123.46, 1237. 格式控制符不正确(输入数据时不能控制列宽和小数位数)8. 63,63,77,3f9. %f%f scanf(“%f%f“,

5、 x=(a*a+b*b)/sqrt(3*(a+b);printf(“x=%.3fn“,x);2编写程序,从键盘输入一个梯形的上底 a、下底 b 和高 h,输出梯形的面积 s。#include #includevoid main( ) float a, b,h,s;scanf(“%f,%f,%f“, s=(a+b)*h/2;printf(“梯形面积 s=%.2fn“,s);3编写程序,在屏幕上输入你姓名的第一个字母,显示出该字母以及下面的信息:Hello!This is a c program.My name is 第一个字母#include void main( ) char name;nam

6、e=getchar();putchar(name);printf(“nHello!n“);printf(“This is a c program.n“);printf(“My name is %cn“,name);第 4 章习题一、选择题12345678910BBCBCA CBACC二、填空题1. ! scanf(“%f“, if(x#includevoid main( ) float a, b, c, s, area;scanf(“%f,%f,%f“, if(a+bc area=sqrt(s*(s*(s-a)*(s-b)*(s-c);printf(“area=%fn“,area);if(a=

7、b else if(a=b | a=c | b=c)printf(“等腰三角形n“);else if(a*a + b*b= c*c)|(a*a + c*c= b*b)|(b*b + c*c = a*a)printf(“直角三角形n“);else printf(“一般三角形n“);else printf(“不能组成三角形n“);3设奖金税率 r 有如下的要求 (n 代表奖金) :0 nvoid main( ) float n, r, s;int m;printf(“请输入奖金值:“);scanf(“%f“, if(n=6000) m=6;else m=n/1000;switch(m) case

8、0: r=0; break;case 1: r=0.05; break;case 2: r=0.08; break;case 3: case 4:case 5: r=0.1; break;case 6: r=0.15; break;s=n-r*n;printf(“税率 r=%.0f%, 奖金值 n=%.2f, 实际应得奖金值 s=%.2fn“,r*100, n, s);4. 从键盘输入任意 4 个数 a、b、c、d,按照从大到小的顺序排列后重新输出。#includevoid main( ) int a, b, c, d,t;scanf(“%d,%d,%d,%d“, if(avoid main(

9、 ) int num,i,j,k,m;printf(“输入一个少于 4 位的正整数:“);scanf(“%d“,if(num=0 m=num%10; /*求个位上的数字*/k=num/10%10; /*求十位上的数字*/j=num/100; /*求百位上的数字*/printf(“逆序数为:%d%d%dn“,m,k,j);else if(num=10)printf(“是一个 2 位数n“);m=num%10; /*求个位上的数字*/k=num/10; /*求十位上的数字*/printf(“逆序数为:%d%dn“,m,k);else printf(“是一个 1 位数n“);printf(“逆序数为

10、:%dn“,num);else printf(“是一个无效的数n“);第 5 章习题一、选择题12345678910BCBCA BDBAB二 填空题1. 循环 switch2. 4,73. 64. # # 5. 0 2 6. 18 7. 1 8. sum=80 9. c=getchar() n:m10. i %13= =0 break三 程序分析题1. output1:21 6output2: 5 6output3: 5 7 72. n=73. Max=18Min=34. 1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=95. 0 1 2 31 2 3 02 3 0 13 0

11、1 2四、编程题1. 从键盘上输入若干字符,以按 Enter 键结束,统计其中字符 A 或 a 的个数。#include “stdio.h“main() char ch;int k=0;while(ch=getchar()!=n) if(ch=A | ch=a)k=k+1; printf(“%dn“,k);2. 利用=的前 100 项之积计算 p 的值。#include main()double term, result = 1; /*累乘项初值应为 1*/int n;for (n=2; nmain()int x,y,z,count=0;for(x=1;xmain() int x, y;for

12、 (x=1;xmain()int n,i;printf(“nplease input a number:n“);scanf(“%d“,printf(“%d=“,n);for(i=2;i#includemain()int i1,i2,i3,i4,k,n;printf(“Inputdatais:“);scanf(“%d“,k=fabs(n); /*取绝对值*/i1=k/1000; /*分离出千位*/i2=(k-i1*1000)/100; /*分离出百位*/i3=(k-i1*1000-i2*100)/10; /*分离出十位*/i4=k%10; /*分离出个位*/printf(“The sum of

13、the total bit is %dn“,i1+i2+i3+i4);7. 打印出所有“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个水仙花数,因为 153=13+53+33。#include void main()int i,j,k,n;printf(“parcissus numbers are:n“);for (n=100;n#include main()int n=1,count=1;float x;double sum,term; /*因为位数多,所以定义为双精度 */printf(“Input x: “);scanf(“%f“, sum

14、=x;term=x; /*赋初值*/doterm=-term*x*x/(n+1)*(n+2);sum=sum+term; /*累加 */n=n+2;count+;while(fabs(term)=1e-5);printf(“sin(x)=%.1f,count=%dn“,sum,count);9编写一个猜数游戏:任意设置一个整数,请用户从键盘上输入数据猜想设置的数是什么,告诉用户是猜大了还是小了。10 次以内猜对,用户获胜;否则,告诉用户设置的数据是什么。#include void main()int num=123,x,n;printf(“hint:0num) printf(“bigger!n

15、“);if(x main()int i,j;for(i=1;i=1;j-)printf(“%c“, );for (j=0;j=1;i-)for (j=20-i;j=1;j-) printf(“%c“, );for (j=0;j 6. 0 3 7. 7,6 8. sum=0i=jaij 9. 410. Tony三 程序分析题1. max=85min=5sum=180aver=30.002. a=2b=2c=2d=2e=1f=2g=23. j=454. Ti_saCPormTss_Pgm5. 1 1 1 5四、编程题1从键盘输入 15 个整数,存放在数组中,找出其中最小数并指出其所在的位置。#include#define N 15main()int min,i,j,aN;printf(“Enter N integers:n“);for(i=0;iai) min=ai;j=i;printf(“%d,%d“

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号