谭浩强c语言程序设计教程(第三版)课后习题答案

上传人:kms****20 文档编号:41293747 上传时间:2018-05-29 格式:DOC 页数:52 大小:91.50KB
返回 下载 相关 举报
谭浩强c语言程序设计教程(第三版)课后习题答案_第1页
第1页 / 共52页
谭浩强c语言程序设计教程(第三版)课后习题答案_第2页
第2页 / 共52页
谭浩强c语言程序设计教程(第三版)课后习题答案_第3页
第3页 / 共52页
谭浩强c语言程序设计教程(第三版)课后习题答案_第4页
第4页 / 共52页
谭浩强c语言程序设计教程(第三版)课后习题答案_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《谭浩强c语言程序设计教程(第三版)课后习题答案》由会员分享,可在线阅读,更多相关《谭浩强c语言程序设计教程(第三版)课后习题答案(52页珍藏版)》请在金锄头文库上搜索。

1、谭浩强谭浩强 C C 语言程序设计教程语言程序设计教程( (第三版第三版) )课后习题答案课后习题答案3.30 编写程序,把 560 分钟换算成用小时和分钟表示,然后进行输出。 程序如下 main( ) int hour,minute; hour=560/60; minute=560%60; printf(“hour=%d,minute=%d“,hour,minute); 3.31 编写程序,输入两个整数:1500 和 350,求出它们的商数和余数并进行输出。 程序如下 include main( ) int num1,num2,i,j; /* 定义变量 i商,j余数 */ printf(“i

2、nput num1 and num2:n“); scanf(“%d%d“, i=n 3.32 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数, 对小数点后第二位数进行四舍五入,最后输出结果。 程序如下 main( ) double a,b,c,average=0; printf(“input a,b,c(double):n“); scanf(“%lf%lf%lf“, average=(a+b+c)/3; average=average*10; average=average+0.5; average=(int)average; average=average/10; p

3、rintf(“average=%lf“,average); 3.33 编写程序,读入三个整数给 a,b,c,然后交换它们中的数,把 a 中原来的值给 b, 把 b 中原来的值给 c,把 c 中的值给 a。 程序如下 main( ) int a,b,c,t=0; printf(“input a b c:n“); scanf(“%d%d%d“, t=c;c=b;b=a;a=t; printf(“a=%d b=%d c=%d“,a,b,c); 4.21 当 a0 时,请将以下语句改写成 switch 语句。 if( a-5 源程序二:(2)嵌套的 if 语句 main( ) float x; pri

4、ntf(“input x:n“); scanf(“%f“, if(x-5 if(x=10) printf(“input error“); 源程序三:(3)if_else 语句 main( ) float x; printf(“input x:n“); scanf(“%f“, if(x-5 doubel sum=1,t=1; while(fabs(1.0/t)1e-4) /* fabs 求浮点型数据的绝对值 */ t=t*i; sum=sum+1/t; i+; printf(“e=%lf“,sum); 5.19 编写程序,输出从公元 1000 年至 2000 年所有闰年的年号 每输出 3 个年号

5、换一行。 判断公元年是否闰年的条件是: (1)公元年数如能被 4 整除,而不能被 100 整除,则是闰年。 (2)公元年数能被 400 整除也是闰年。 程序如下 main( ) int i,j=0; for(i=1000;i main( ) int i,j; for(i=1;i7-fabs(4-i) printf(“ “); else printf(“*“) printf(“n“); 6.21 请编写程序,输入一行字符(用回车结束) ,输出每个字符以及与之对应的 ASCII 2006-4-16 22:19 回复 222.75.174.* 4 楼代码值,每行输出三队. 程序如下 include

6、main( ) int i=0; char ch; while(ch=getchar( )!=n) printf(“%4c%4d“,ch,ch); i+; if(i%3=0) printf(“n“); 6.21 请编写程序,输入一行数字字符(用 EOF 结束) ,每个数字字符的前后都有空格。 请编程,把这一行中的数字转换成一个整数。例如,若输入: 2 4 8 3 (代表 Enter 键) 则输出整数:2483 程序如下 #include main() char ch; while(ch=getchar()!=EOF) if(ch= ) continue; else printf(“%c“,ch

7、); 6.22 请编写程序统计输入的行数,输入用 EOF 结束输入。 程序如下 #include main() char ch; int i=0; while(ch=getchar()!=EOF) if(ch=n) i+; printf(“%d“,i); 6.23 请编写程序统计输入的一行程序如下 #include main() int i=0; char ch; while(ch=getchar()!=n) if(ch=a) printf(“Enter n(integer):n“); scanf(“%d“, for(i=1;ii;j-) printf(“ “); for(k=1;k int

8、mymod( int a, int b ) int remainder; remainder=a%b; return remainder; main() int a,b; printf(“Enter a b (int):n“); scanf(“%d%d“, printf(“余数=%d“,mymod(a,b); 7.16 编写程序求:11/2+1/3-1/4+1/5-1/6+1/7-.1/n 程序如下 main() int n; float a; float sum(int n); scanf(“%d“, a=sum(n); printf(“%10.5f“,a); float sum(int n

9、) float s=0; int i,t=1; for(i=1;i float fun(float x) float y; y=pow(x,2)-5*x+4; return y; main() float x,y1,y2,y3; clrscr(); printf(“Enter x:n“); scanf(“%f“, y1=fun(2); y2=fun(x+15); y3=fun(sin(x); printf(“y1=%fny2=%fny3=%fn“,y1,y2,y3); 8.17 请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传 送回调用函数。 程序如下 #include

10、sum_sub(float a,float b,float *sum, float *sub) *sum=a+b; *sub=a-b; main() float a,b,sum,sub; /*定义变量 sum 求和,变量 sub 求差*/ printf(“Enter a b (float):n“); scanf(“%f%f“, sum_sub(a,b, printf(“sum=%f,sub=%f“,sum,sub); 8.18 请编写函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数。 程序如下 #include max_min(double a,double b,double

11、c,double *max,double *min) *max = a ; /* 假定 a 的值为最大,把 a 值赋给指针变量*max */ if(*maxb) *min = b; if(*minc) *min = c; main() double a,b,c,max,min; printf(“Enter a b c (double):n“); scanf(“%lf%lf%lf“, max_min(a,b,c, printf(“max=%lf,min=%lf“,max,min); 9.27 输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数.用下标为 0 元素统计字符“1“的个数

12、,下标为 1 的元素统计字符“2“的个数,. 程序如下 #include void count(int a) int i; char ch; while(ch=getchar()!=n) for(i=0;i #include int fun(int a,int b) int i,j=0; for(i=0;i void alpha_sort(char a,int n); void alpha_rout(char a,int n); main() char a20; int n; clrscr(); printf(“*The original alphabetic is*:n“); gets(a)

13、; n=strlen(a); alpha_sort(a,n); alpha_rout(a,n); void alpha_sort(char a,int n) int i,j,p,t; for(j=0;j #define M 10 void sort(int aM,int bM+1,int n) int i; for(i=0;iaM-1) if(na) b=a; else b=n; break; if(i int dec_bin(int a,int decimal) /*变量 decimal 表示十进制数*/ int i=0,remainder; while(decimal0) remainde

14、r=decimal%2; decimal=decimal/2; ai+=remainder; if(decimal=0;i-) prin 9.33 编写函数调用随机函数产生 0 到 19 之间的随机数,在数组中存入 15 个互不重复的整 数。要求在主函数中输出结果。若已定义 x 为 int 类型,调用随机函数步骤如下: include “stdio.h“ . . . x=rand()%20 /*产生 0 到 19 的随机数*/ 程序如下 #include void rand1(int a) int i=0,j,x,flag; while(i 2006-4-16 22:19 回复 222.75.174.* 7 楼#define M 3 void line_sum(int aMM,int a1) int i

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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