C语言程序设计教程李含光郑关胜清华大学出版社习题答案

合集下载

C语言程序设计教程课后习题答案

C语言程序设计教程课后习题答案

C语言程序设计教程课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2C语言程序的基本结构是怎样的?举一个例子说明。

答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。

3C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。

4★指出合法与不合法的标识符命名。

答AB12--√ leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--×XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。

答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序)Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。

6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。

①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main(){ int a,b,c,t;printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。

C语言程序设计教程 课后习题参考答案

C语言程序设计教程 课后习题参考答案
}
else if( carType == 2 ) //富康
{
if( distance < 3 )
totalMoney = 8.0;
else
totalMoney = 8 + fukang * (distance – 3);
}
else if( carType == 3 ) //富康
{
if( distance < 3 )
(3) 7BAB4BAB1BC
(4) ABABABC
(5) ******
******
******
******
4.
(1) a != b
(2) n / 10
(3) scanf(“%d”, &a);
5.(3)行int fac = 1, sum = 0;
6.
(1)
#include <stdio.h>
main( )
r = 2.5;
h = 3.5;
v = 3.14*r*r*h;
printf(“v=%lf\n”, v);
}
(2)
#include <stdio.h>
main( )
{
char ch;
ch = getchar( );
printf(“%c\n”, ch + 32);
}
(3)
#include <stdio.h>
scanf("%d", &carType);
printf("请输入您乘车的总路程:");
scanf("%lf", &distance);
if( carType == 1)//夏利

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

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

c语言程序设计教程第二版课后习题答案《C语言程序设计教程第二版课后习题答案》在学习C语言程序设计的过程中,课后习题是非常重要的一部分。

通过做课后习题,我们可以巩固所学知识,提高编程能力,加深对C语言的理解。

本文将为大家总结《C语言程序设计教程第二版》中的课后习题答案,希望对大家的学习有所帮助。

1. 第一章第一章是C语言程序设计的基础知识,包括变量、常量、表达式、运算符等。

课后习题主要是一些基础的编程练习,例如求两个整数的和、差、积、商等。

这些习题可以帮助我们熟悉C语言的基本语法和运算符的使用。

2. 第二章第二章介绍了C语言的控制结构,包括顺序结构、选择结构和循环结构。

课后习题主要是一些简单的流程控制练习,例如判断一个数是奇数还是偶数、求一个数的阶乘、计算一个数的平方根等。

这些习题可以帮助我们理解程序的执行流程,掌握流程控制的使用方法。

3. 第三章第三章介绍了C语言的数组和字符串,包括数组的定义、初始化、访问和操作,以及字符串的定义、赋值、比较和连接。

课后习题主要是一些数组和字符串的操作练习,例如求一个数组的最大值、最小值、平均值,查找一个字符串中的某个字符等。

这些习题可以帮助我们熟悉数组和字符串的使用方法,提高对数组和字符串的处理能力。

4. 第四章第四章介绍了C语言的函数和指针,包括函数的定义、调用、参数传递和返回值,以及指针的定义、初始化、访问和操作。

课后习题主要是一些函数和指针的练习,例如编写一个函数求两个数的最大公约数、最小公倍数,使用指针实现数组的排序等。

这些习题可以帮助我们理解函数和指针的使用方法,提高对函数和指针的掌握程度。

总的来说,《C语言程序设计教程第二版》中的课后习题涵盖了C语言程序设计的基础知识和常用技巧,通过认真做好这些习题,我们可以加深对C语言的理解,提高编程能力,为以后的学习和工作打下坚实的基础。

希望大家能够认真对待这些习题,不断提升自己的编程能力。

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

第一篇:《C语言程序设计教程》(第三版)课后习题参考答案C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。

《C语言程序设计》清华大学出版社课后答案

《C语言程序设计》清华大学出版社课后答案

习题 9一.选择题1. A2. A3. A4. A5.B6.C二编程题9.2 编写一函数,判断N×N矩阵是否为上三角阵。

上三角阵是指不含主对角线,下半三角都是0的矩阵。

#include <stdio.h>int fun(int x[][3],int n){int flag=1,i,j;for(i=1;i<n;i++)for(j=0;j<i;j++)if(x[i][j]!=0){flag=0;break;}return flag;}void main(){int a[3][3]={{1,4,5},{0,2,6},{0,0,3}};int result=fun(a,3);if(result==1)printf("此矩阵是上三角矩阵!\n");elseprintf("此矩阵不是上三角矩阵!\n");}9.3 有一个字符串,包含n个字符,将字符串从第i 个字符到第j个字符间的字符逆置。

程序代码:#include <stdio.h>#include <string.h>void invertsub(char *str,int i,int j){char *p,*q,c;int n=0;p=q=str;if(str==NULL)printf("str is NULL!\n");else if(i<=0||j>strlen(str))printf("i and j value error!\n");else {while(*p!='\0'&&n!=i-1){ p++;n++; }q=p;while(*q!='\0'&&n!=j-1){q++;n++;while(p<q){c=*p;*p++=*q;*q--=c;}}}void main(){char str[]="abcdefg";printf("%s\n",str);invertsub(str,2,5);printf("%s\n",str);}9.4 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.程序源代码:main(){int number[20],n,m,i;printf("the total numbers is:");scanf("%d",&n);printf("back m:");scanf("%d",&m);for(i=0;i<n-1;i++)scanf("%d,",&number[i]);scanf("%d",&number[n-1]);move(number,n,m);for(i=0;i<n-1;i++)printf("%d,",number[i]);printf("%d",number[n-1]);}move(array,n,m)int n,m,array[20];{int *p,array_end;array_end=*(array+n-1);for(p=array+n-1;p>array;p--)*p=*(p-1);*array=array_end;m--;if(m>0) move(array,n,m);}9.5 输入n个整数,将最小数与第一个数对换,把最大数与最后一个数对换程序源代码:main(){int number[10];input(number);max_min(number);output(number);}input(number)int number[10];{int i;for(i=0;i<9;i++)scanf("%d,",&number[i]);scanf("%d",&number[9]);}max_min(array)int array[10];{int *max,*min,k,l;int *p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;p<arr_end;p++)if(*p>*max) max=p;else if(*p<*min) min=p;k=*max;l=*min;*p=array[0];array[0]=l;l=*p;*p=array[9];array[9]=k;k=*p;return;}output(array)int array[10];{ int *p;for(p=array;p<array+9;p++)printf("%d,",*p);printf("%d\n",array[9]);}9.6 输入n个字符串,按由小到大顺序输出。

C语言程序设计课后习题参考答案

C语言程序设计课后习题参考答案
【习题2-22】:x>-5&&x<5
x>5||x<-5
四、编写程序题
【习题2-23】
main()
{
float r,h,C1,Sa,Sb,Va,Vb;
scanf("%f,%f",&r,&h);
C1=2*3.14*r;
Sa=3.14*r*r;
Sb=4*Sa;
Va=4*3.14*r*r*r/3;
Vb=Sa*h;
表达式不是独立存在的,它存在于其他表达式、语句、函数参数里,表达式后面加上一个分号,就变成表达式语句,如
i=i+1(是表达式,不是语句)
i=i+l;(是语句)
表达式能构成语句是C语言的一个特色。其实“函数调用语句”也是属于表达式语句,因为函数调用也属于表达式的一种,只是为了便于理解和使用,我们把“函数调用语句”和“表达式语句”分开来说明。由于C程序中大多数语句是表达式语句(包括函数调用语句),所以有人把C语言称作“表达式语言”。
三、
【习题3-12】~【习题3-19】:如图3-12至图3-19所示。
3-123-133-14
其中的符号“→”表示“倒给”,例如“A→C”“将A瓶中的液体倒给C瓶”。
3-153-163-17
3-183-19
四、编写程序题
【习题3-20】:
#include <stdio.h>
main()
{int x,y;
bon4=bon2+200000*0.05; /*利润为40万元时的奖金*/
bon6=bon4+200000*0.03; /*利润为60万元时的奖金*/
bon10=bon6+400000*0.015; /*利润为100万元时的奖金*/

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

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

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(“%lf\n”,2*s) (4)m%5==0 ,printf(“%d\n”,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).#include stdio.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); unsigned int 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.hint main ( ){ printf (**************************\n\n);printf( very good!\n\n);printf (**************************\n);return 0;}1-6#include stdio.hint 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数据的输入输出653.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年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。

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)。
相关文档
最新文档