C语言程序设计课后答案罗朝盛

合集下载

C语言程序设计教程书后作业参考答案2013

C语言程序设计教程书后作业参考答案2013

重要提醒:请同学们认真复习,为后续课程打好基础,祝取得好成绩!五种题型:填空、选择、阅读程序写结果,程序填空,编程题每章基本概念要熟练掌握(教材中填空和选择有可能认真做一遍)常用算法一定要掌握:顺序结构:定义,赋值(输入),处理,输出分支结构:能够读懂各种结构程序循环结构:读程序,填空最大公约数,最小公倍数,求和,阶乘,水仙花数,回文数,完数,同构数,素数判断,哥德巴赫猜想,孪生素数等。

数组:一维数组排序,查找(顺序,折半),找最大小值,求平均值等二维数组;输入和输出二维数组,杨辉三角形函数:能将上述循环、数组部分用函数实现,并正确调用指针:掌握相关概念,能够阅读程序写结果预处理:基本概念,阅读程序自定义数据类型、文件中的基本概念(填空,选择)附书后作业的选择和填空题的全部答案及部分编程题的参考答案练习题1参考答案一、选择题二、填空题1.程序设计语言主要分为以下三类:机器语言、汇编语言和高级语言。

2.在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。

3.C程序开发过程的一般步骤为:源程序的编辑、编译、连接和运行。

4. C程序源文件的扩展名为.c ,编译成功后产生的文件扩展名为.obj ,连接成功后产生文件扩展名为.exe 。

三、应用题略练习题2参考答案一、选择题二、填空题1.通常一个字节包含8 个二进制位。

在一个字节中能存放的最大(十进制)整数是255(无符号),127(带符号),最小(十进制)整数是-128 ,它的二进制数的形式是10000000 。

2.在C语言中,十进制数30的八进制数表示形式是 036 ,十六进制数表示形式是 0x1e ,在内存中它的二进制数表示形式是 0000000000011110 。

3.条件“20<x<30或x<-100”的C语言表达式是 x>20&&x<30||x<-100 。

4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6 ,b 值为 4 ,c值为 2 。

c语言程序设计罗朝盛 第二章 数据类型及运算符和表达式

c语言程序设计罗朝盛 第二章 数据类型及运算符和表达式

的数被处理成零值。双精度实数的数值范围
约在-10-308——10308之间,并提供15——16 位有效位,具体精确到多少位与机器有关; 小于10-308的数被处理成零值。因此double 型变量中存放的数据要比float型变量中存 放的数据精确的多。
注意:
在计算机内存中可以精确的存放一个 整数,不会出现误差,但整型数值的存放
2.3 整型数据
按照位”权“展开相加
2.3.1

整型常量


整型常量即整常数。C整常数可用以下三种形式表示: 1.十进制整数。如123、-456、0。 2.八进制整数。以O开头的数是八进制数。如O123表 示八进制数123,即(123)8 等于十进制数83。-011表示 八进制数-11,即十进制数-9。 3.十六进制整数。以0x开头的数是16进制数。 如0xl23,代表16进制数123, 即(123)16=1162+2 161+3 160= 256+32+3=291。-0xl2等于十进制数18。
unsigned long
32
0~4294967295
二、整型变量的定义

思考: C规定在程序中所有用到的变量都必须在程序 若有:a=120905;如何? 中 指 定 其 类 型 , 即 ‚ 定 义 ‛ , 这 是 和 BASIC 、 FORTRAN不同的,而和PASCAL相类似。例如: int a,b; (指定变量a,b为整型) unsigned short c,d; (指定变量c,d为 无符号短整型) 1ong e,f; (指定变量e,f为长整型) 再思考: 对变量的定义,一般是放在一个函数的开头 若有:b=7920.8;又如何? 部分
2147483648~2147483647范围内,则认为它是1ong

c程序设计第三版习题参考解答 全

c程序设计第三版习题参考解答 全

C程序设计(第三版)课后习题参考解答第1章 C语言概述1.5 参照本章例题,编写一个C程序,输出以下信息:******************************Very Good!******************************解:main ( ){printf(“****************************** \n”);printf(“\n”);printf(“ Very Good! \n”);printf(“\n”);printf(“****************************** \n”);}1.6 写一个程序,输入a,b,c三个值,输出其中最大者。

解:main ( ){int a,b,c,max;printf(“请输入三个数a,b,c: \n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf(“最大数为:%d ”,max);}第2章程序的灵魂——算法2.1 什么叫结构化的算法?为什么要提倡结构化的算法?解:由一些基本结构顺序组成的算法称为结构化的算法。

由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。

2.7 什么叫结构化程序设计?它的主要内容是什么?解:结构化程序就是用高级语言表示的结构化算法。

它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。

第3章数据类型、运算符与表达式3.4将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。

注:如果没有学过二进制和补码,此题可以不做。

解:各数据在内存中的存储形式如下表所示:其中int和short类型,其取值范围是-32768~32767。

32769在这两种类型中实际表示负数,它是一个负数的补码,对其再求一次补码可得其真值,即-(65536-32769)=-32767。

c程序设计第三版习题参考解答(全)

c程序设计第三版习题参考解答(全)
max=a;
if (max<b)
max=b;
if (max<c)
max=c;
printf(“最大数为:%d”,max);
}

2.1
解:由一些基本结构顺序组成的算法称为结构化的算法。由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。
2.7
解:结构化程序就是用高级语言表示的结构化算法。它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。
设x=2.5,a=7,y=4..7
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
解:
(1)2.5
(2)3.5
3
main ( )
{ inti, j, m, n;
i=8;
j=10;
m=++i;
n=j++;
printf (“%d, %d, %d, %d”, i, j, m, n);
此题可以这样考虑:带符号数在计算机中采用补码表示,正数的补码与原码相同,负数的补码=模+真值。若使用16位存储,模为216=65536。-617的补码为65536+(-167)=64919=(176627)8=(FD97)16
(5)(-111)10=(177621)8=(FF91)16
(6)(2483)10=(4663)8=(9B3)16
scanf(“%f %e”,&x , &y);
scanf(“%c %c”,&c1 , &c2);
}
解:

《C语言程序设计》第三版课后答案

《C语言程序设计》第三版课后答案

1.5请参照本章例题,编写一个C程序,输出以下信息:************Very Goodj!************解:main(){printf(" ************ \n");printf("\n");printf(" Very Good! \n");printf("\n");printf(" ************\n");}1.6编写一个程序,输入a b c三个值,输出其中最大者。

解:main(){int a,b,c,max;printf("请输入三个数a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("最大数为:%d",max);}第三章3.3 请将下面各数用八进制数和十六进制数表示:(1)10 (2)32 (3)75 (4)-617(5)-111 (6)2483 (7)-28654 (8)21003解:十八十六(10)=(12)=(a)(32)=(40)=20(75)=(113)=4b(-617)=(176627)=fd97-111=177621=ff912483=4663=963-28654=110022=901221003=51013=520b3.5字符常量与字符串常量有什么区别?解:字符常量是一个字符,用单引号括起来。

字符串常量是由0个或若干个字符而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号'\0'.3.6写出以下程序的运行结果:#include<stdio.h>void main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c\n",c4,c5);解:程序的运行结果为:aabb cc abcA N3.7将"China"译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母, 例如,字母"A"后面第4个字母是"E",用"E"代替"A".因此,"China"应译为"Glmre". 请编一程序,用赋初值的议程使c1,c2,c3,c4,c5分别变成'G','1','m','r','e',并输出.main(){char c1="C",c2="h",c3="i",c4='n',c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);}3.8例3.6能否改成如下:#include<stdio.h>void main(){int c1,c2;(原为 char c1,c2)c1=97;c2=98;printf("%c%c\n",c1,c2);printf("%d%d\n",c1,c2);}解:可以.因为在可输出的字符范围内,用整型和字符型作用相同. 3.9求下面算术表达式的值.(1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)(2)(float)(a+b)/2+(int)x%(int)y=3.5(设a=2,b=3,x=3.5,y=2.5)3.10写出下面程序的运行结果:#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}解:结果: 9,11,9,10第4章4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'.想得到以下的输出格式和结果,请写出程序要求输出的结果如下:a= 3 b= 4 c= 5x=1.200000,y=2.400000,z=-3.600000x+y= 3.60 y+z=-1.20 z+x=-2.40u= 51274 n= 128765c1='a' or 97(ASCII)c2='B' or 98(ASCII)解:main(){int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1='a';c2='b';printf("\n");printf("a=%2d b=%2d c=%2d\n",a,b,c);printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);printf("x+y=%5.2f y=z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x); printf("u=%6ld n=%9ld\n",u,n);printf("c1='%c' or %d(ASCII)\n",c1,c2);printf("c2='%c' or %d(ASCII)\n",c2,c2);}4.5请写出下面程序的输出结果.结果:575 767.856400,-789.12396267.856400 ,-789.12396267.86,-789.12,67.856400,-789.123962,67.856400,-789.123962 6.785640e+001,-7.89e+002A,65,101,411234567,4553207,d68765535,17777,ffff,-1COMPUTER, COM4.6用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',问在键盘上如何输入?main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d,&a,&b);scanf(" x=%f y=%e",&x,&y);scanf(" c1=%c c2=%c",&c1,&c2);}解:可按如下方式在键盘上输入:a=3 b=7x=8.5 y=71.82c1=A c2=a说明:在边疆使用一个或多个scnaf函数时,第一个输入行末尾输入的"回车"被第二个scanf函数吸收,因此在第二\三个scanf函数的双引号后设一个空格以抵消上行入的"回车".如果没有这个空格,按上面输入数据会出错,读者目前对此只留有一初步概念即可,以后再进一步深入理解.4.7用下面的scanf函数输入数据使a=10,b=20,c1='A',c2='a',x=1.5,y=-3.75,z=57.8,请问在键盘上如何输入数据?scanf("%5d%5d%c%c%f%f%*f %f",&a,&b,&c1,&c2,&y,&z);解:main(){int a,b;float x,y,z;char c1,c2;scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y,&z);}运行时输入:10 20Aa1.5 -3.75 +1.5,67.8注解:按%5d格式的要求输入a与b时,要先键入三个空格,而后再打入10与20。

c程序设计第四版课后习题答案

c程序设计第四版课后习题答案

c程序设计第四版课后习题答案由于我无法提供具体的《C程序设计》第四版课后习题答案,因为这些答案可能受版权保护,并且我也无法访问到书籍的具体内容。

但我可以提供一些通用的解题策略和建议,帮助学生更好地理解和解决C语言编程问题。

在解决C程序设计习题时,可以遵循以下步骤:1. 理解题目要求:仔细阅读题目,明确题目要求你做什么,需要实现哪些功能。

2. 分析问题:将问题分解成更小的部分,考虑每个部分如何实现。

3. 设计算法:根据问题的分析结果,设计一个算法来解决问题。

这可能包括选择数据结构、确定循环和条件语句的使用等。

4. 编写代码:根据设计的算法,开始编写代码。

在编写过程中,注意代码的可读性和效率。

5. 测试和调试:编写完代码后,进行测试以确保代码能够正确运行并解决题目。

如果发现错误,使用调试工具或打印语句来找出问题所在并修正。

6. 优化代码:在确保代码能够正确运行的基础上,考虑代码的优化,比如减少内存使用、提高运行速度等。

7. 复习和总结:完成习题后,回顾解题过程,总结学到的知识点和技巧。

解决C语言编程问题时,以下几点建议可能会有所帮助:- 熟悉C语言的基本语法:了解变量声明、数据类型、运算符、控制结构等基础知识。

- 掌握数组和指针的使用:数组和指针是C语言中非常重要的概念,理解它们对于解决许多编程问题至关重要。

- 学习使用标准库函数:C语言提供了丰富的标准库函数,合理使用这些函数可以简化编程任务。

- 练习编写函数:将代码分解成函数有助于提高代码的可读性和可维护性。

- 注意内存管理:在C语言中,程序员需要手动管理内存,因此了解如何正确分配和释放内存是非常重要的。

最后,不断练习和实践是提高编程能力的关键。

通过解决各种类型的编程问题,你可以加深对C语言的理解,并提高解决问题的能力。

希望这些建议能够帮助你更好地学习和掌握C程序设计。

如果你有具体的编程问题或需要帮助,请随时提问。

(完整版)C语言程序设计课后习题答案

(完整版)C语言程序设计课后习题答案

C语言程序设计(第2版)课后习题答案第一章1.请参照本章例题,编写一个C程序,输出以下信息:**************************Very good!**************************解:#include<stdio.h>void main(){printf(“**************************”);printf(“\n”);printf(“Very good!\n”);printf(“\n”);printf(“**************************”);}2.编写一个C程序,输入a、b、c三个值,输出其中最大值。

解:#include<stdio.h>void main(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf(“最大数为: %d”,max);}第二章1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。

计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。

解:#include<stdio.h>#include<math.h>void main(){double P, r=0.1, n=10;P=pow((1+r), n);printf(“%lf\n”, P);}3.请编程序将“China”译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。

例如,字母“A”后面第4个字母是“E”,“E”代替“A”。

因此,“China”应译为“Glmre”。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

c语言程序设计教程第二版课后习题答案.doc

c语言程序设计教程第二版课后习题答案.doc

c 语言程序设计教程第二版课后习题答案【篇一:c 语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]】1.单项选择题(1)a (2)c(3)d (4)c (5)b 2 .填空题(1)函数(2)主函数(main )(3)printf() ,scanf()第2 章习题参考答案1.单项选择题1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题(1)1(2)26 (3)6 ,4 ,2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15)(x0y0)||(x0z0)||(y0||z0) (16)double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b)) (19)sqrt((x*x+y*y)/(a+b))第3 章习题参考答案1.单项选择题1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题(1)用;表示结束(2){ } (3)y=x0?1:x==0?0:-1(4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果(1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11)i=6 ,k=4 (12)1,-2 4 .程序填空(1)x:y ,u :z(2)m=n ,m!=0,m=m/10(3)teps , t*n/(2*n+1) , printf( n”“,%2*l s f)(4)m%5==0 ,printf( “%n d”,k)(5)cx=getchar() , cx!=front , cx(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5 .编程题(1).#include stdio.h int main() {double x,y; scanf(%lf,x); if(x1) y=x;else if(x=1.0x10) y=2*x-11; elsey=3*x-11;printf(%lf\n,y); return 0; } (2). #includestdio.h int main() {double x,y,z,min;scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz)min=z;printf(min=%lf\n,min); return 0; } (3). #include stdio.h int main() {int y,m,d,flag,s=0,w,i; scanf(%d%d%d,y,m,d);flag=(y%4==0y%100!=0||y%400==0);w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;for(i=1;i=m;i++) { switch(i) {case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case6:s=151+d;break; case 7:s=181+d;break; case8:s=212+d;break; case 9:s=243+d;break; case10:s=273+d;break; case 11:s=304+d;break; case12:s=334+d;break;} }s=(w+s)%7; if(s==0) printf( 星期日\n); elseprintf( 星期%d\n,s); return 0; }(4).#include stdio.h int main() { float p,r;scanf(%f,p); if(p=10) r=p*0.1;else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40)r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60)r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;else if(p60p=100)r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p100)r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01;printf(%f\n,r); return 0; } (5).#include stdio.h int main() { char c;while((c=getchar())!=\n) {if(c=ac=z) c=c-32; putchar(c);}return 0; } (6).#includestdio.h int main() {int m,k=2;printf( 输入一个正整数:\n); scanf(%d,m); while(km) if(m%k==0) { printf(%4d,k); m=m/k; } else k++;printf(%4d\n,m); return 0; } (7).#includestdio.h int main() {int a,n,s=0,p=0,i;scanf(%d %d,n,a); for(i=1;i=n;i++) {p=p*10+a; s=s+p; }printf(%d\n,s); return 0; } (8).#includestdio.h int main(){int i,j,k;for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++)printf(%5d,100*i+10*j+k); return 0; }(9).#includestdio.h #includemath.h int main() {float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do {x=(a+b)/2;f=(((2*x-4)*x+3)*x)-6; if(f*f10) { b=x; f2=f; } else { a=x;f1=f; }}while(fabs(f)=1e-6); printf(%6.2f\n,x); return 0; }(10).#includestdio.h#includemath.h int main() {int n=2;double eps,t,s=0,x;scanf(%lf %lf,x,eps); t=x; s=t;while(fabs(t)=eps) {t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; }printf(%d,%lf\n,n,s); return 0; }(11).#includestdio.h int main() {unsigned long s,t=0,p=1; scanf(%u,s); while(s!=0) {if((s%10)%2!=0) {t=t+(s%10)*p; p=p*10; }s=s/10; } printf(%u\n,t); return 0; }第4 章习题参考答案1.单项选择题1-5 dddbd 6-10 badcd 11-14 bdab 2 .填空题(1)2(2)嵌套,递归(3)全局变量,局部变量,静态变量,动态变量(4)auto , static , register , extern (5)外部变量(6)编译,运行3.阅读程序,指出结果(1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2 (5)求水仙花数(6)-5*5*5 (7)30 (8)0 10 1 11 2 124.程序填空(1)float fun(float , float) ,x+y,x-y, z+y,z-y (2)x ,x*x+1(3)s=0 , a=a+b 5 .编程题(1).while(s!=0) #includestdio.h { unsigned int fun(unsigned int);p=p+s%10; int main() s=s/10; { } unsigned int s; return p;scanf(%u,s); } printf(%u\n,fun(s)); (2).return 0;#includestdio.h } #includestdlib.h unsigned int fun(unsignedint s) #includemath.h { void f1(float,float,float,float); unsignedint p=0; void f2(float,float,float,float);【篇二:《c 语言程序设计》课后习题答案(第四版)谭浩强】t>1.1 什么是计算机程序 11.2 什么是计算机语言 11.3c 语言的发展及其特点 31.4 最简单的 c 语言程序 51.4.1 最简单的 c 语言程序举例 61.4.2c 语言程序的结构101.5 运行c 程序的步骤与方法121.6 程序设计的任务141-5 #include stdio.h int main( ){ printf (**************************\n\n);printf( very good!\n\n);printf (**************************\n); return 0;}1-6#include stdio.h int main(){int a,b,c,max;printf(please input a,b,c:\n);scanf(%d,%d,%d,a,b,c); max=a; if (maxb)max=b; if (maxc) max=c;printf(the largest number is %d\n,max); return 0;}第2 章算法——程序的灵魂162.1 什么是算法162.2 简单的算法举例172.3 算法的特性212.4 怎样表示一个算法222.4.1 用自然语言表示算法222.4.2 用流程图表示算法222.4.3 三种基本结构和改进的流程图262.4.4 用n?s 流程图表示算法282.4.5 用伪代码表示算法312.4.6 用计算机语言表示算法322.5 结构化程序设计方法34习题36第章最简单的 c 程序设计——顺序程序设计37 3.1 顺序程序设计举例373.2 数据的表现形式及其运算393.2.1 常量和变量393.2.2 数据类型423.2.3 整型数据443.2.4 字符型数据473.2.5 浮点型数据493.2.6 怎样确定常量的类型513.2.7 运算符和表达式523.3c 语句573.3.1c 语句的作用和分类573.3.2 最基本的语句——赋值语句593.4 数据的输入输出65 3.4.1 输入输出举例653.4.2 有关数据输入输出的概念673.4.3 用printf 函数输出数据683.4.4 用scanf 函数输入数据753.4.5 字符数据的输入输出78 习题823-1 #include stdio.h#include math.hint main() {float p,r,n;r=0.1; n=10;p=pow(1+r,n);printf(p=%f\n,p);return 0;}3-2-1#include stdio.h#include math.hint 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 年期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章习题参考答案1. (略)23填空题(1)main(2)函数的首部、函数体(3){、}(4)main、main(5)语句、分号(;)45选择题(1)#include <>main(){int a, b, s;float t;printf("Enter A,B=?\n");scanf("%d%d", &a, &b);s=a+b;t=a*b;printf("s=%d, t=%f\n", s, t);}(2)#include <>main(){printf("=================\n");printf(" Hello! \n");printf(" How do you do \n");printf("=================\n");}(3)#include <>main(){int r, h; float v;printf("Enter R, H=?\n"); scanf("%d%d", &r, &h); v=*r*r*h;printf("v=%f\n",v); }第2章 习题参考答案一.(略) 二.填空题(1) abe d c b b a 2+++(2) (3) 16 (4) 10 (5) 16、16、11 (6) 4、10、6 (7) 18、3、3 (8) sin(65*180)+2*( +exp(y))/(x-y) (9) 25、25 (10) 27 (11) 4 (12) 0四、编程题1.#include <> main() {int x, a, b, c;printf("Enter a intger number x=?\n"); scanf("%d",&x); a=x /100; b=x%100/10; c=x%10;printf("%d %d %d\n", a, b, c);}2.#include <>main(){unsigned a, b,r1,r2,r3;scanf("%u%u", &a, &b);r1=a &b;r2=a|b;r3=a^b;printf("r1=%u,r2=%u,r3=%u\n",r1,r2,r3);getch();}3.#include <>main(){float a, b, h, s;scanf("%f%f?%f", &a, &b, &h);s=(a+b)*h/2;printf("s=%f\n", s);}第3章习题参考答案一、判断题2填空题3语句4表达式语句5{ }6函数7由“%”和格式字符8&9getchar()1027 ,33 ,1b11x(1)= x(2)=125+ 63程序阅读题1、p=p=p=p=p=p=2、a----ASCII: 97a----ASCII: 97a----ASCII: 974编程题1、#include <>main(){int a, b;float r1, r2;scanf("%d%d", &a, &b);r2=a+b;r1=a*b/r2;printf("r1=%0.2f,r2=%0.2f\n", r1, r2);}2、#include <>main(){float c, f;printf("Input C=");scanf("%f", &c);f=5*c+32;printf("F=%f\n", f);}3、#include <>void main(){float c1, c2, c3, ver, s;printf("Input a, b and c:");scanf("%f%f%f", &c1, &c2, &c3);s=c1+c2+c3;ver=s/3;printf("total s=%f , ver=%f\n", s,ver);}}第4章习题参考答案1判断题1 2 3 4 5 6××√√×√21 2 3 4 5 6 7 8B B B B D A B B3程序阅读题(1)105(2)a=8(3)abc123DEF(4)4程序填空题(1)ch ch==')' count-- count==0 count>0 (2)div=n div—(3)min=mark min=mark max=mark sum+=mark5编程题(1)#include <>void main( ){ int x,y;printf("Enter the X,Y=?\n");scanf("%d,%d",&x,&y);if(x>0 && y>0)printf("(%d,%d)是第一像限\n",x,y);else if(x>0 && y<0)printf("(%d,%d)是第四像限\n",x,y);else if(x<0 && y>0)printf("(%d,%d)是第三像限\n",x,y);else if(x<0 && y<0)printf("(%d,%d)是第二像限\n",x,y);else if(x>0 && y==0)printf("(%d,%d)在X轴正方向\n",x,y);else if(x<0 && y==0)printf("(%d,%d)在X轴负方向\n",x,y);else if(x==0 && y>0)printf("(%d,%d)在Y轴正方向\n",x,y);else if(x==0 && y<0)printf("(%d,%d)在Y轴负方向\n",x,y);elseprintf("(%d,%d)为坐标原点\n",x,y);}(2)#include <>#include <>main(){float a, b, c, x, s;printf("Input a, b and c:");scanf("%f%f%f", &a, &b, &c);if(a+b<=c || a+c<=b || b+c<=a)printf("Error!\n");else{x=(a+b+c)/2;s=sqrt(x*(x-a)*(x-b)*(x-c));printf("area=%f\n", s);}}(3)程序代码如下:#include <>void main(){ float salary, tax;int ntax;printf("\nPlease enter a salary=");scanf("%f",&salary);ntax=salary/500;if (ntax>=10) ntax=10;switch(ntax){ case 0: case 1:tax=0;break;case 2:tax=(salary-1000)*;break;case 3:case 4:tax=500*+(salary-1500)*;break;case 5:case 6:tax=500*+1000*+(salary-2500)*;break;case 7:case 8:case 9:tax=500*+1000*+1000*+(salary-3500)*;break;case 10:tax=500*+1000*+1000*+1500*+(salary-5000)*;}printf("\nThe tax=%10.2f\n",tax);}(4)方法一#include <>#include <>main(){int i=1;float t=-1, s=0;do{t= -t/i;s=s+t;i=i+1;}while(fabs(t)>1e-6);printf("s=%f\n", s);}方法二#include <>void main(){int i=1,sign=1;float t=, s=;whilet>1e-6){t= t*i;s=s+sign/t;i=i+1;sign=-sign;};printf("s=%f\n", s);}(5)方法一:#include <>main(){int i, a, b, c;for(i=100; i<=999; i++){a=i /100;b=i/10%10;c=i%10;if(i==a*a*a+b*b*b+c*c*c) printf("%d\n", i);}}方法二:#include <>void main(){int i, a, b, c;for(a=1; a<=9; a++)for(b=0; b<=9; b++)for(c=0; c<=9; c++){ i=a*100+b*10+c;if(i==a*a*a+b*b*b+c*c*c) printf("%d\n", i);}}(6)#include <>main(){int i, j;for(i=1; i<=4; i++){for(j=1; j<=6-i; j++) putchar(' ');for(j=1; j<=i*2-1; j++)printf("%c", 65+i-1);printf("\n");}for(i=3; i>=1; i--){for(j=1; j<=6-i; j++) putchar(' ');for(j=1; j<=i*2-1; j++)printf("%c", 65+i-1);printf("\n");}}(7)#include <>main(){int a, b, c;for(a=0; a<=20; a++)for(b=0; b<=33; b++){c=100-a-b;if(a*5+b*3+c/==100)printf("%d, %d, %d\n", a, b, c);}}(8)#include <>#include <>main(){float x, x0, a;scanf("%f", &a);x=a;do{x0=x;x=2/*x0+a/(3*x0*x0);}while(fabs(x-x0)>1e-6);printf("x=%f\n", x);}(9)#include <>#include <>main(){float pi, pi0;int i=1pi=2;do{pi0=pi;pi=pi**i/*i-1))**i/*i+1));i=i+1;}while(fabs(pi-pi0)>1e-6);printf("pi=%f\n", pi);}(10)#include <>void main(){ int i,j,s;for(i=6;i<=1000;i++){ s=1;for(j=2;j<=i/2;j++)if(i%j==0) s+=j;if(s==i) /*判断是否是合数*/{ printf("%d=1",i); /* 打印输出合数及=1*/for(j=2;j<=i/2;j++) /* 打印输出各因子*/if(i%j==0) printf("+%d",j);printf("\n");}}}(11)#include <>#include <>void main(){int x, y,z,k;k=sqrt(2000);for(x=0;x<=k;x++)for(y=0;y<=k;y++)for(z=0;z<=k;z++)if(x*x+y*y+z*z==2000)printf("%d,%d,%d\n",x,y,z);}第5章习题参考答案2填空题(1)32(2)4(3)str1[7]= '\0';(4)for(i=1;i<=6;i++) gets(a[i]);(5)strcpy(web, "");(6)int *p=a;(7)5(8)1(9)*(p+6)或*(s+6)4程序阅读题(1)6(2)str(3)60(4)bcdefgacdefgabdefgabc(5)a1e25程序填空题(1)# include <> scanf("%f", &a[i]) s=0; x=a[0] fabs(a[i]-s) (2)scanf("%d",&n) a[i][i]=1 a[i-1][j-1] printf("\n")(3)b[i]!='\0' strcpy puts(b)(4)p=a[0]; 或p=&a[0][0]; *p六、编程题1、使用数组和指针2种方法来处理。

相关文档
最新文档