c语言第九章课后作业答案,C语言课后习题部分答案

《C语言课后习题部分答案》由会员分享,可在线阅读,更多相关《C语言课后习题部分答案(39页珍藏版)》请在人人文库网上搜索。

1、读书破万卷 下笔如有神 第二章 C程序设计的初步知识 一、选择题 (1) B (2) D (3) B (4) A (5) C (6) A (7) B (8) B (9) A (10) C (11)B (12)B (13)A 二、填空题 (14)11,12 (15) 4.2,4.2 (16) , 说明,执行 (17) 关键字,用户标识符 (18) int ,float ,double (19) float a1=1,a2=1 ; (20) 存储单元 (21) 3.5 (22) a*b/c a/c*b a*(b/c) (23) 10赋给变量s (24) 位,0或1 (25) 8 ,255 ,111。

2、11111,0,00000000 (26) 32767 ,-32768 ,10000000 00000000 (27)十,八,十六 三、上机改错题 程序的错误所在(28) 请指出以下C; stdio.h include / * * main function main( ); / cof is area /* /*r is radius*/,/*s float r, s; ircular*/*/ ; = 5.0 r ; r s=3.14159 * r * printf(%fn,s); 正确应为:#includestdio.h 或 #include */ main function main( 。

3、) /* circular*/ of s is radius, is area float r,s; /*r ; 5.0 r = ; * r = s 3.14159 * r printf(%fn,s); 请指出以下(29) C程序的错误所在stdio.h #include 读书破万卷 下笔如有神 main /* main function */ float a,b,c,v; /*a,b,c are sides, v is volume of cube*/ a = 2.0 ; b = 3.0 ; c = 4.0 v = a * b * c; printf(%fn,v); 正确应为: #inclu。

4、destdio.h main( ) /* main function */ float a,b,c,v; /*a,b,c are sides, v is volume of cube*/ a = 2.0 ; b = 3.0 ; c = 4.0; v = a * b * c; printf(%fn,v); 第三章 顺序结构 一、选择题 (1) C (2) C (3) D (4) C (5) D (6) B (7) C (8) D (9) A (10)B (11)C (12)D (13)D (14)A (15)C (16)C (17)C (18)均不对,应为scanf( “o”,&c) (18) 。

5、C (20) B 二、填空题 (21) -200,2500 i=-200, j=2500 i = -200 , j = 2500 (22) 12 ,0 ,0 (23) 语句块, ; (24) ; (25) 10025.811.89234 /*可用一个或几个空格作为输入时的间隔符*/ 10025.811.89234 /*Tab(制表符)也可以作为输入时的间隔符*/ 10025.811.89234 /*CR(回车符)也可以作为输入时的间隔符*/ (26) x = 127, x =127, x=177, x=7f, x=127。 (27) x = 127, x =127, x=177, x=7f, 。

6、x=127。 (28) a=513.789215, a=513.79, a=513.78921500, a=513.78921500 三、上机改错题 3.30 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。 程序如下读书破万卷 下笔如有神 main( ) int hour,minute; hour=560/60; minute=560; printf(hour=%d,minute=%d,hour,minute); 3.31 编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。 程序如下 include main( ) int num1,num2,i,j; /。

7、* 定义变量 i商,j余数 */ printf(input num1 and num2:n); scanf(%d%d,&num1,&num2); i=num1/num2; j=num1%num2; 牰湩晴尨商=%dn 余数=%d,i,j); 3.32 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数, 对小数点后第二位数进行四舍五入,最后输出结果。 程序如下 main( ) double a,b,c,average=0; printf(input a,b,c(double):n); scanf(%lf%lf%lf,&a,&b,&c); average=(a+b+c)/3;。

8、 average=average*10; average=average+0.5; average=(int)average; average=average/10; printf(average=%lf,average); 3.33 编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b, 。a中的值给c,把c中原来的值给b把 读书破万卷 下笔如有神 程序如下 main( ) int a,b,c,t=0; printf(input a b c:n); scanf(%d%d%d,&a,&b,&c); t=c;c=b;b=a;a=t; printf(a=%d b=%d c=%。

9、d,a,b,c); 第四章 选择结构 一、选择题 (1) A (2) A (3) A (4) D (5) C (6) A (7) B (8) 均错 (9)D (10)A 二、填空题 (11) 非零,零 (12) 或=、=、!= (13) 逻辑非、逻辑与、逻辑或 (14) !、或=、=、!=、&、| (15) ! (16) a= =b | a 4 或 x 4 | x0 ? 0 : 1 , 1 (19) a=3 , b=2 , c=2 (20) * # 三、编程题 4.21 当a0时,请将以下语句改写成switch语句。 if( a-5&x0&x=10) printf(input error); 。

10、源程序二:(2)嵌套的if语句 main( ) float x; printf(input x:n); scanf(%f,&x); if(x-5&x0) printf(y=%f,x+1); if(x=10) printf(input error); 源程序三:(3)if_else语句 main( ) float x; printf(input x:n); scanf(%f,&x); if(x-5&x-5 &x0 &x=0 , x main( ) int i; doubel sum=1,t=1; while(fabs(1.0/t)1e-4) /* fabs求浮点型数据的绝对值 */ t=t*i;。

11、 sum=sum+1/t; i+; printf(e=%lf,sum); 5.19 编写程序,输出从公元1000年至2000年所有闰年的年号 每输出3个年号换一行。 判断公元年是否闰年的条件是: (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(); 第六章 字符型数据 一、选择题 (1) B (2) D (3) A (4) A (。

12、5) B (6) D (7) D (8)B (9) A (10)A (11)B ? 二、填空题 (12) -1 (13) 1 (14) ctype.h (15) 0 (16) 10A20B30C40D (17) 7.29 101.298 AB (7.29101.298AB) (18) A7.29B101.298 (19) A B C 三、编程题 ASCII 请编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的6.21 读书破万卷 下笔如有神 代码值,每行输出三队. 程序如下 include main( ) int i=0; char ch; while(ch=getchar( )。

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

14、笔如有神 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)&(ch main() int i,j,k,n; printf(Enter n(integer):n); scanf(%d,&n); for(i=1;ii;j-) 读书破万卷 下笔如有神 printf( ); for(k=1;k int mymod( in。

15、t a, int b ) int remainder; remainder=a%b; return remainder; main() int a,b; printf(Enter a b (int):n); scanf(%d%d,&a,&b); 牰湩晴尨余数=%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,&n); a=sum(n); printf(_x0010_.5f,a); float sum(int n) float。

16、 s=0; int i,t=1; for(i=1;i #include float fun(float x) float y; y=pow(x,2)-5*x+4; return y; main() x,y1,y2,y3; float 读书破万卷 下笔如有神 clrscr(); printf(Enter x:n); scanf(%f,&x); y1=fun(2); y2=fun(x+15); y3=fun(sin(x); printf(y1=%fny2=%fny3=%fn,y1,y2,y3); 答案 第八章 指 针 * 一、选择题 (1) A (2) B (3) B (4) C (5) B (6。

17、) B (7) C (8) D+ (9) B (10)C (11)C (12)C 二、填空题 (13) 110 (14) 7, +1 (15) char * p , p=&ch , scanf (“%c”, p ) , * p =a , printf (“%o”, * p) (16) s = p + 4 , s= s -2 , 50 , * (s+1) , 2 , 10,20,30,40,50 三、编程题 8.17 请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传 送回调用函数。 程序如下 #include sum_sub(float a,float b,float *s。

18、um, 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,&a,&b); sum_sub(a,b,&sum,&sub); printf(sum=%f,sub=%f,sum,sub); 8.18 请编写函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数。 程序如下 #include max_min(double a,double b,double c,double *ma。

19、x,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,&a,&b,&c); max_min(a,b,c,&max,&min); printf(max=%lf,min=%lf,max,min); 答案 第九章 数 组 一、选择题 (1) D (2) A (3) A (4) A (5) C (6) A (7) B。

20、 (8) D (9) C (10) C (11)C (12)D (13)D (14)A (15) A (16)A (17)C (18)C 二、填空题 (19) 9 , 0 (20) 6 (21) 12 (22) 3 2721 (23) 读书破万卷 下笔如有神 (24) -850 , 2 , 0 (25) k = p , k (26) (c = getchar ( ) ) , c - 65 三、编程题 9.27 输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数.用下标为 0元素统计字符?的个数,下标为1的元素统计字符?的个数,. 程序如下 #include void count(。

21、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); 读书破万卷 下笔如有神 n=strlen(a); alpha_sort(a,n); alpha_。

22、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) remainder=decimal%2; decimal=decimal/2; ai+=remainder; if(decimal2) a=decimal; break;。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值