C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc

上传人:PIYPING 文档编号:10626095 上传时间:2021-05-27 格式:DOC 页数:44 大小:179KB
返回 下载 相关 举报
C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc_第1页
第1页 / 共44页
C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc_第2页
第2页 / 共44页
C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc_第3页
第3页 / 共44页
C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc_第4页
第4页 / 共44页
C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计教程 第3版 教学课件 ppt 作者 吉顺如 C第3版实验与习题参考答案.doc(44页珍藏版)》请在三一文库上搜索。

1、第1章 实验与习题答案 1.5实验22.改错题1)#includevoid main()int x,y,sum; /x=10; y=20; /sum=x+y;printf(x+y=%d,sum); /printf(n);2)#includevoid main()float r,area;printf(Please input r (r0):);scanf(%f,&r); /area=3.1416*r*r; /printf(r=%6.2fn,r);printf(area=%fn,area); /3程序填空题1)int a,b,sum; scanf(%d%d,&a,&b);2)m=a-b; pri

2、ntf(%dn,m); printf(OK!);4编程题1)#includevoid main() int x,y,sub; scanf(%d%d,&x,&y); sub=x*x-y*y; printf(sub=%dn,sub); 2)#includevoid main() printf(#n); printf( Hello n); printf(#n); 1.6习题P10-12一、选择题15 CBBCD610 DAABA二、填空题1. 函数2. main()3. 4. printf()5. main()6. 十进制整数7. main()函数 main()函数8. 小写9. 换行10. .c

3、.obj .exe三、读程序,写结果1. WELCOME! FRIEND.2. a1=6,a2=9 a1=9,a2=63. x=12,y=16 x=16,y=124. a=2,b=3,c=4sum=95. * Very good! *四、编程题1. #include void main()int a=15,b=25,c=36;printf(a=%d,b=%d,c=%dn,a,b,c);printf(sum=%dn,a+b+c);2.#includevoid main() int x,y,sum; scanf(%d%d,&x,&y); sum=x*x+y*y; printf(sum=%dn,su

4、m); 第2章 实验与习题答案 2.10实验21.改错题1)#includemain()char c1,c2;c1=A;c2=B; /printf(%c,%cn,c1,c2);printf(%d,%dn,c1,c2); /2) #include#define NUM 3 /main()int c,vb,pas,sum;float ave;printf(Please input c,vb,pas:);scanf(%d,%d,%d,&c,&vb,&pas); /sum=c+vb+pas;ave=(float)sum/NUM; /printf(ave=%fn,ave);2程序填空题1)#includ

5、e#define PI 3.1415926void main()float r,l,s;r=1.5; l=2*PI*r;s=PI*r*r;printf(r=%fn,r);printf(l=%fn,l);printf(s=%fn,s);2)#includevoid main( )int a=6862,hb,lb;hb=(a8)&0x00ff;lb=a&0x00ff;printf(hb=%xn,hb);printf(lb=%xn,lb);3编程题1)#includevoid main() float x,y,z,ave,cj; printf(Please input 3 data:); scanf

6、(%f%f%f,&x,&y,&z); ave=(x+y+z)/3; cj=x*y*z; printf(ave=%.1f,cj=%.1fn,ave,cj); 2)#includevoid main() int n=5,a=12; a%=(n%=2); printf(a=%dn,a);2.11习题P31-33一、选择题15 DBADA610 CBADA二、填空题1. 整型 字符型2. h1043. 644. 5.55. 20 6. 07. 整型8. 269. 02010. + 三、读程序,写结果1. 5,5,5,52. 1B3. 9,2,94. 1.00000015. 88484a四、编程题1.#

7、include#define PI 3.1415926void main()float r,h,area,volume;scanf(%f%f,&r,&h);area=PI*r*r;volume=PI*r*r*h;printf(area=%fn,area);printf(volume=%fn,volume);2.#includemain( )int a=31278,hb,lb;hb=(a8)&0x00ff;lb=a&0x00ff;printf(hb=%xn,hb);printf(lb=%xn,lb);第3章 实验与习题答案 3.5实验31.改错题1) #includevoid main() ch

8、ar c1,c2;c1=getchar(); /c2=getchar(); /putchar(c1);printf(%c,c2);2) #includevoid main()float c,f;printf(Please Input f:n);scanf(%f,&f); /c=(5.0/9)*(f-32); /printf(C=%5.2fn,c); /2程序填空题1) #includevoid main() int x;float y;printf(enter x,y: );scanf(%d%f,&x,&y); /printf(x+y=%.1fn,x+y); /2)#includevoid m

9、ain()float pi,h,r,sq,vq,vz;pi=3.1415926;printf(Please Input r,h:n);scanf(%f%f,&r,&h); sq=4*pi*r*r;vq=4.0/3*pi*r*r*r;vz=pi*h*r*r; printf(r=%.2fn,r);printf(h=%.2fn,h);printf(sq=%.2fn,sq);printf(vq=%.2fn,vq);printf(vz=%.2fn,vz); 3编程题1)#includevoid main() int a,b,c; scanf(%d,&a); c=(b=a+2,a*5),a+16); pr

10、intf(a=%d,b=%d,c=%dn,a,b,c);2)#includevoid main() char ch; ch=getchar(); putchar(ch-4); ch=getchar(); putchar(ch-4); putchar(getchar()-4); putchar(getchar()-4); putchar(getchar()-4);3.6习题一、选择题15 BCAAD610 BACDA二、填空题1. stdio.h头文件2. printf()3. m n4. scanf()5. 6. 浮点 67. 63,63,77,3f8. 12459. 56610. 65,B三

11、、读程序,写结果1. *s1= abcdefghijklm * *s2=def *2. 8,10 8 10 21.35, -123.12C,67,103,43COMPUTER, COM3. abab4. 12345678aabb cc abcA B5. 10 20 30 10,30,0四、编程题1. #includevoid main() int ch; scanf(%d,&ch); putchar(ch); putchar(n);2.#include#includevoid main() int a,b,c; float s,area; scanf(%d%d%d,&a,&b,&c); s=(

12、a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%.1fn,area);第4章 实验与习题答案 4.9实验41.改错题1) #includevoid main() float x,y; scanf(%f,&x); / if (x0) y=x*5; / printf(y=%fn,y); / else printf(y=%fn,x/5);2)#includemain() char ch; printf(Input a character: );ch=getchar(); /if(ch=0&ch=A&ch=a&ch=z) printf(%

13、dn,ch);else printf(Other character n); / 2程序填空题1)#includemain() int x,c;float y;scanf(%d,&x);if( x0 ) c=-1; /else c=x/10; /switch(c)case -1:y=0;break;case 0:y=x;break;case 1:y=10;break;case 2:case 3:y=-0.5*x+20;break;default:y=-2;if( y!=-2 ) printf(y=%f,y); /else printf(errorn);2)#includemain() int

14、yy,mm,len; printf(year,mouth); scanf(%d %d,&yy,&mm); switch(mm) case 1:case 3:case 5:case 7: case 8:case 10:case 12: len=31 ;break; / case 4:case 6:case 9:case 11:len=30;break; case 2: if(yy%4=0&yy%100!=0|yy%400=0) len=29 ; / else len=28 ; / break; default:printf(input error); break; printf(the leng

15、th of %d %d is %d daysn,yy,mm,len);3编程题1)#includevoid main() int a,b,c,max,min; scanf(%d%d%d,&a,&b,&c); max=a; if(maxb) max=b; if(maxb) min=b; else min=a; if(minc) min=c; printf(max=%d,min=%dn,max,min);2)#includevoid main() char ch; ch=getchar(); if(ch=A&ch=a&ch=z) ch-=32; printf(%cn,ch);4.10实验51.改错

16、题1)#includevoid main() char x;x=z;while(x=a) / printf(%3c,x); x-; / 2)#includevoid main() int a=1,y=1; / do a=a+2; / y=y*a; while(a!=15); / printf(1*3*5*15=%dn,y); 2程序填空题1) #includemain() int r,m,n,t; scanf (%d%d,&m,&n); if(mn) t=m;m=n;n=t; / r=m%n; while(r)m=n;n=r;r= m%n ; / printf(%dn,n);2)#includ

17、e void main() int i,j,n; char ch=A ; printf(Please input n:);scanf(%d,&n);for(i=1;i=n;i+) for(j=1; j=n-i+1 ;j+) printf(%2c,ch); ch+ ; printf(n) ;3编程题1)#include void main() int i,j,k,n; printf(parcissus numbers are:n); for (n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if (n=i*i*i+j*j*j+k*k*k) printf

18、(%dn,n); 2)#include void main() int i=0 ; long n=1; float e=0, t=1; while(t1e-5) e+=t;i+;n*=i;t=1.0/n; printf(e=%fn,e);4.10习题一、选择题15 DBCAA610 ADCBB二、填空题1. & | !2. 0 1 03. 1 4. k=n k+5. do-while循环体至少执行一次,而while循环体可能一次也不执行6. 07. 28. x=59. 010. 3 三、读程序,写结果1. t=-262. $ $3. aBcDeF23mN4. a=2,b=85. $&$&$&*

19、四、编程题1.#includevoid main()int a,b,c,d;scanf(%d%d,&a,&b);c=a*a+b*b;if(c200) d=c/100;else d=a-b;printf(a*a+b*b=%d,d=%dn,c,d);2.#includevoid main() int i,j,n,sum=0; scanf(%d,&n); for(i=1;i=n;i+) for(j=1;j=i;j+) sum+=j; printf(sum=%dn,sum);3.#include#includevoid main()double term=1, result=1;int n=1,j=1

20、;while(fabs(term)0.0000001) n+=2; j=(-1)*j; term=j*(double)1/n; result+=term; printf(result=%fn, 4*result);第5章 实验与习题答案 5.5实验61.改错题1)#includemain() int a3=3*0; int i; for(i=0;i3;i+) scanf(%d,&ai); / for(i=1;i3;i+) a0=a0+ai;printf(%dn,a0); /2)#includemain() int N=6,i,temp; /int a6=2,4,1,6,8,5; / for(i

21、=0;iN;i+) /printf(%4d,ai);for(i=0;iN/2;i+) / temp=aN-i-1; aN-i-1=ai; ai=temp; printf(n);for(i=0;iN;i+) / printf(%4d,ai);2程序填空题1)#include#includemain() char a20= cehiknqtw; char s=fbla; int i,k,j; for(k=0;sk!= 0; k+ ) / j=0; while(sk=aj&aj!= 0) j+; for( i=strlen(a);i=j;i-) / ai+1=ai; / aj=sk;puts(a);

22、2)#include#include void main()char string20,str320; int i; for (i=0;i0) strcpy(string,str0); / else strcpy(string,str1); if ( strcmp(str2,string)0 ) strcpy(string,str2); / puts(string); 3编程题1)#include#define M 10 void main() int n,i,j,xMM; long s=1; printf(Enter a integer(=10):n); scanf(%d,&n); prin

23、tf(Enter %d data on each line for the array xn,n); for( i=0;in;i+) for(j=0;jn;j+) scanf(%d,&xij); for(i=0;in;i+) for(j=i;jn;j+ ) s*=xij; printf(%ld,s); 2)#includevoid main() int a20,i,j; float b4,ave=0; for(i=0;i20;i+) ai=2*(i+1); i=0; for(j=0;j20;j+) ave+=aj; if(j+1)%5=0) bi=ave/5.0; i+; ave=0; for

24、(i=0;i4;i+) printf(%.1f ,bi); 5.6习题P115-119一、选择题15 BBCCA610 BBABA二、填空题1. 按行存放2. (2)改为for(i=0;iM;i+) 或(3)改为printf(“%d”,ai-1);3. 54. 常5. strcmp()函数6. 0 57. 168. abcdxyz9. 5,410. Hello三、读程序,写结果1. mnyo2. 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 67653. abcbcc4. 195. mo四、编程题1.#include

25、#define N 20void main() int max,i,j,aN; printf(Enter %d integers:n,N); for(i=0;iN;i+)scanf(%d,&ai);max=a0;for(i=1;iN;i+) if(maxai) max=ai; j=i; printf(max=%d,j=%dn,max,j); 2.#include #define N 100void main()char aN;int i,j,t,n,k;gets(a);n=strlen(a); for(i=0;iN-1;i+) /选择排序 k=i; for(j=i+1;jN;j+) if(ak

26、aj) k=j; if(k!=i) t=ak; ak=ai; ai=t; puts(a);3.#include void main( )int a34,i,j,max,min; int maxi,maxj,mini,minj; maxi=maxj=mini=minj=0; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); printf(output array a:n); for(i=0;i3;i+) for(j=0;j4;j+) printf(%5d,aij); printf(n); for(i=0;i3;i+) max=min=ai0; for(j

27、=1;jmax) max=aij;maxi=i;maxj=j; else if(aijmin) min=aij;mini=i;minj=j; printf(max=%d,maxi=%d,maxj=%dn,max,maxi,maxj); printf(min=%d,mini=%d,minj=%dn,min,mini,minj);第6章 实验与习题答案 6.9实验71.改错题1) if (x%i!=0) 改为:if (x%i=0) else return 1; 改为: return 1;printf(m=);scanf(%d,m); 改为:printf(m=); scanf(%d, &m); if

28、(m3) printf(The End.n);continue; 改为: if(m3) printf(The End.n);break; /2) 改法一: while(flag) 改为: while( !flag)改法二: 3处 while(i=n) 改为 :while(in)flag=0; 改为:flag=1;if(-100=ai)&(ai=100)flag=1; 改为:if(-100=ai)&(ai=100)flag=0;2程序填空题1) printf(“%c”, ); 2*i-1 printf(“%d”,i); a(i)a(i) 2) maxarrayij return max; max

29、_value(3,4,a) );3编程题1)#include #define N 3int arrayNN;void main() void convert(int array3);int i,j; printf(input array:n); for (i=0;iN;i+) for (j=0;jN;j+) scanf(%d,&arrayij); printf(noriginal array :n); for (i=0;iN;i+) for (j=0;jN;j+) printf(%5d,arrayij); printf(n); convert(array); printf(convert ar

30、ray:n); for (i=0;iN;i+) for (j=0;jN;j+) printf(%5d,arrayij); printf(n); void convert(int array3)int i,j,t; for (i=0;iN;i+) for (j=i+1;jN;j+) t=arrayij; arrayij=arrayji; arrayji=t; 2)#include #include float shulihe(int n) int i,j=2,k=1,temp; float sum=0; for(i=1;i=n;i+) sum+=(float)j/k; temp=k;k=j;j=

31、j+temp; return sum;void main() int n; float sum;printf(Please input n:); scanf(%d,&n); sum=shulihe(n); printf(sum=%fn,sum);6.10习题一、选择题15 ADBAD610 DCDBA二、填空题1. main()2. main()3. 函数体4. 使函数可以使用在前,定义在后5. int6. 单向传递7. 地址传递 值传递8. return() void9. void f(float a, float b) float f(float a, float b)10. 外部存储变量或用static定义变量三、读程序,写结果1. 2 4 6 8 102. a=4,b=5 a=4,b=43. i=12;j=6;x=16 i=6;j=12;x=84. a=485. 8,17四、编程题1.#include int qiuhe(int n) int i,j,k; i=n%10; j=n/10%10; k=n/100; return i+j+k;void main() int n,sum; printf(Please input n(1n999):); scanf(%d,&n); sum=qiuhe(n); printf(sum=%dn,sum);2. #include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1