C语言课后习题答案.doc_第1页
C语言课后习题答案.doc_第2页
C语言课后习题答案.doc_第3页
C语言课后习题答案.doc_第4页
C语言课后习题答案.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二 :【2-1】#include main()double r=2.3,zhou area;zhou=2*3.14*r;area=3.14*r*r;printf(“zhou=%f,area=%f”,zhou ,area); 【2-2】#include main()int a,b;scanf(%d,%d,&a,&b);printf(%d,a%b); 二改错1题:int a=3;b=5;sum; 改为 int a=3,b=5,sum;2题:scanf(“%lf%lf”,x,y); 改为:scanf(“%lf%lf”,&x,&y);3题:b=x%100; 改为:b=x/10%10;c=x/10; 改为:c=x%10;实验三:【3-1】main()int a;scanf(“%d”,&a);if(a%3=0) printf(“%d”,a);else printf(“不是3的倍数”); 【3-2】#include #include main()double x,y;scanf(%lf,&x);if(x=0) y=fabs(x);else y=exp(x);printf(%f,y); 二改错:1题:if x%2!=0 改为 if(x%2!=0)2题:if(x!=0); 改为 if (x!=0)y=1/x; 改为: y=1.0/x;实验四:【4-1】#include main()int s=0,i,n;scanf(%d,&n);for(i=1;i=n;i+) s=s+i;printf(%d,s);10【4-2】#include main()float s=0,f=1,i,n;scanf(%f,&n);for(i=1;i=n;i=i+2)s=s+f/i;f=-f; printf(%f,s);或:#include main()float s=0,f=1,i,n;scanf(%f,&n);for(i=1;i=n;i+)if(i%2!=0)s=s+f/i;f=-f; printf(%f,s);【4-3】#include stdio.hmain()int i,t1=1,t2=1,s=0,m,n; scanf(m=%d,n=%d,&m,&n); for(i=1;i=m;i+) t1=t1*i; for(i=1;i=n;i+)t2=t2*i;s=t1+t2;printf(%d!+%d!=%d,m,n,s); 二改错1题:int i,sum; 改为: int i,sum=0;for(i=1,i=100,i+) 改为: for(i=1;i=100;i+)2题:for(i=100;i=999;i+);改为: for(i=100;i=999;i+)实验五:【5-1】#include main()char c;c=getchar();if(c=0&c=9) printf(%d,c-0);else if(c= ) printf(%d,c);else printf(%c,c); 【5-2】#include main()char ch;int i,num1=0,num2=0,num3=0,n;scanf(%d,&n);for(i=1;i=0&ch=a&ch=A&ch=Z) num3=num3+1; /*统计/字母个数*/printf(数字字符个数=%d,*个数=%d,字母=%dn,num1,num2,num3); 【5-3】#include main()double x,y;scanf(%lf,&x);if(x0) y=0;else if(x10) y=9*x/2;else y=4.5*x-8.5*x*x;printf(x=%lf,y=%lf,x,y); 或:#include main()double x,y;scanf(%lf,&x);if(x=0&x=10) y=4.5*x-8.5*x*x;printf(x=%lf,y=%lf,x,y); 【5-4】#include main()int x;scanf(%d,&x);if(x%2=0) printf(yes);else printf(no);【5-5】#include main()char ch;int n1=0,n2=0,n3=0,i;for(i=1;i=10;i+)ch=getchar();switch(ch)case :n1+;break;case n:n2+;break;default :n3+;printf(%d,%d,%d,n1,n2,n3); 【5-6】#include main()int a;scanf(%d,&a);if(a=2&a=100)if(a%3=0)printf(%d,a);else printf(错误);二改错:1题scanf(“%d”, x); 改为:scanf(“%d”, &x);else if(x10) y=x2-x+3; 改为:else if(x10) y=x*x-x+3;else y=4x-7; 改为:else y=4*x-7;2题:b=1;c=3; 改为:b=1;c=3;实验六:【6-1】#include main()int s=0,a=1,b=1;while(b=5)s=s+a*b;a=-a;b=b+1; printf(%d,s);【6-2】#include #include main()double t=1.0/2,a=1,b=1,c=1,d=2,eps,s=0;scanf(%lf,&eps);while(fabs(t)=eps)s=s+t;a=-a;b=b+2;c=c+1;d=d+1;t=a*b/(c*d); printf(%lf,s); 或:#include #include main()double t=1.0/2,f=1,n=1,eps,s=0;scanf(%lf,&eps);while(fabs(t)=eps) s=s+t;f=-f;n+;t=(2*n-1)/(n*(n+1)*f; printf(%lf,s); 【6-3】#include main()int a,s=0; printf(Enter number:);scanf(%d,&a); /*输入第一个数*/while(a0) /*输入数据大于0时,执行循环*/if(a%2!=0) /*如果输入数据为奇数,求和*/s=s+a;scanf(%d,&a); /*输入一个新数据为下一次循环做准备*/printf(奇数和=%dn,s); 二改错:1题printf(“%d, ”,k);k=k-1; 改为:printf(“%d, ”,k);k=k-1;或printf(“%d, ”,k),k=k-1; 或printf(“%d, ”,k-); 2题 while(i=20); 改为:while(i=0 2空x=1e-5 2空t*x/i实验七:【7-1】#include main()float s=0,a=1,b=1,n,t=1;scanf(%f,&n);dos=s+t;a=-a;b=b+2;t=a/b;while(b=n);printf(%f,s); 【7-2】#include stdio.hmain()int i=0,n,s=0,j; printf(Enter n:);scanf(%d,&n);do j=n%10;n=n/10;i+; /*i用来统计位数*/ s=s+j;while(n); /* while(n)等价于while(n!=0)*/printf(i=%d,s=%dn,i,s); 二改错:1题: minx 改为:xn) ; 改为:while(i0); 改为:while(i5);三填空:1题:t*n/(2*n+1); 2题:n%103题:1空 s/1002空 10*i思考题:程序1结果为:sum=0,i=6 循环体一次也没有执行 程序2结果为:sum=6,i=7 执行了一次循环体实验八:【8-1】#include main()int i;for(i=100;i=999;i+)if(i%5=0)printf(%5d,i); 【8-2】#include stdio.hmain()double i,sum=0,t=1,n;scanf(%lf,&n); for(i=1;i=n;i+) t=t*i;sum+=1.0/t; printf(sum=%fn,sum); 【8-3】#include main() int x,s=0;for(x=1; ;x+) /*表达式2省略表示永远为真*/s=s+x;if(s10) break;printf(%d,s); 二改错1题: for(n=1;n=30;n+); 改为: for(n=1;n=15;n+)2题: for(i=1;i=n) 改为:for(i=1;i=n;)3题:if(i=(i*i)%10&i=(i*i)%100) 改为: if(i=(i*i)%10|i=(i*i)%100) 三填空1题: n%3=0 2题:m/n思考题:3题:结果为:随机数,11 4题:100 101将break改为continue 后结果为:输出不能被3整除的数实验九:【9-1】#include stdio.hmain()int i,j;for(i=1;i=4;i+)for(j=1;j=10-i;j+) printf( );for(j=1;j=2*i-1;j+)printf(*);printf(n);【9-2】#include stdio.h#include math.hmain()int i,j;double sum=0;for(i=100;i=200;i+)for(j=2;ji;j+)if(i%j=0) sum+=sqrt(i);break; printf(%f,sum); 二改错1题: for(n=1;n=8;n+;) 改为:for(n=1;n=8;n+)scanf(%f,&score); ave+=score;printf(NO%d:%fn,n,ave);改为:scanf(%f,&score); ave+=score; printf(NO%d:%fn,n,ave/5);2题:for(j=1;j=10+i;j+) 改为:for(j=1;j=10-i;j+) for(j=1;j=2*i+1;j+) 改为:for(j=1;j=5;j+)三程序填空:1题:s=0 2题:1空:m+1 2空:i-1实验十:【10-1】#include stdio.hvoid star();void fun();main()star();star();fun();star();star();void star() /*定义函数*/ printf(*n);void fun() /*定义函数*/ printf( hellon);【10-2】#include stdio.hint fac(int m);int fac(int 年)int t=1,i;for(i=1;i0)return sqrt(x); main()float x,y;printf(Enter x:);scanf(%f,&x);printf(n);y=fun(x);printf(y=%fn,y); 【例10-4】#include stdio.hdouble max(double x,double y,double z); /*函数说明*/main()double a,b,c;printf(Enter a,b,c:);scanf(%lf,%lf,%lf,&a,&b,&c);printf(he =%.2fn,max(a,b,c); double max(double x,double y,double z) /*对形参分别定义*/double sum;sum=x+y+z;return sum; 二改错1题: int fun(int m) 改为:double fun(int m) for (i=2; im; i+) 改为:for (i=2; i=m; i+) y += 1/(i*i); 改为:y += 1.0/(i*i);printf(nThe result is %1fn, fun(int n); 改为:printf(nThe result is %1fn, fun(n);2题:int max(double x,double y,double z); 改为:double max(double x,double y,double z); double max(double x, y, z) 改为:double max(double x, double y, double z)三填空:1题:1空countdigit(number,2); 2空long number, int a 3空return n;2题:1空:double fun(int m); 2空:double 3空:return t;实验十一【11-1】#include double fun(int n)int i;double t=0,s=0;for(i=1;i=n;i+)t=1.0/(2*i-1)-1.0/(2*i);s=s+t; return s; main()int n; double s;printf(nInput n: ); scanf(%d,&n);s=fun(n);printf(ns=%fn,s); 【11-2】#include stdio.hint fun(int num);main()int i,m,n;scanf(%d%d,&m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论