C语言改错复习题_

上传人:q****9 文档编号:180026396 上传时间:2021-04-15 格式:DOC 页数:16 大小:137.50KB
返回 下载 相关 举报
C语言改错复习题__第1页
第1页 / 共16页
C语言改错复习题__第2页
第2页 / 共16页
C语言改错复习题__第3页
第3页 / 共16页
C语言改错复习题__第4页
第4页 / 共16页
C语言改错复习题__第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C语言改错复习题_》由会员分享,可在线阅读,更多相关《C语言改错复习题_(16页珍藏版)》请在金锄头文库上搜索。

1、C语言改错复习题_ 作者: 日期:2 6)/*- 【程序改错】-功能:求如下表达式: 1 1 1 S = 1 + + + . + 1+2 1+2+3 1+2+3+.+n -*/#include main() int n; float fun(); printf(Please input a number:); /*FOUND*/ print(%d,n) ; printf(%10.6fn,fun(n);/*FOUND*/fun(int n) int i,j,t; float s; s=0;/*FOUND*/ while(i=1;i=n;i+); t=0; for(j=1;j=i;j+) t=t+

2、j; /*FOUND*/ =s+1/t; return s;答案:【1】 scanf(%d,&n);【2】 float fun(int n)【3】 for(i=1;i=i;i+) 或 for(i=1;ii;i+)【4】 s+=1.0/t; 或 s= s + 1.0 /(float)t; 或 s= s + 1.0 /t; 或 s+=1.0/(float)t;11)/*- 【程序改错】-功能:判断m是否为素数,若是返回1,否则返回0。-*/#includemain() int m,k=0; for(m=1;m100;m+) if(fun(m)=1) printf(%4d,m);k+; if(k%5

3、=0) printf(n); /*FOUND*/void fun( int n) int i,k=1; if(m=1) k=0; /*FOUND*/ for(i=1;im;i+) /*FOUND*/ if(m%i=0) k=0; /*FOUND*/ return m;答案:【1】 int fun( int m) 或 fun( int m)【2】 for(i=2;ii;i+) 或 for(i=2;ii;i+)【3】 if( m%i = 0 ) k=0;【4】 return k;12)/*- 【程序改错】-功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值 小于等于0.0001。 1 1 1

4、 = 1 - + - + . 4 3 5 7-*/*FOUND*/#include stdio.hfun() int i=1; /*FOUND*/ int s=0,t=1,p=1; /*FOUND*/ while(fabs(t)=1e-4) s=s+t; p=-p; i=i+2; t=p/i; /*FOUND*/ printf(pi=%dn,s*4);main() fun();答案:【1】 #include math.h 或 #include 【2】 float s=0,t=1,p=1; 或 float s=0,p=1,t=1; 或 float p=1,s=0,t=1; 或 float p=1

5、,t=1,s=0; 或 float t=1,p=1,s=0; 或 float t=1,s=0,p=1;【3】 while(fabs(t)1e-4) 或 while(0.0001fabs(t) 或 while(1e-40.0001)【4】 printf(pi=%fn, s * 4 );13)/*- 【程序改错】-功能:求1到10的阶乘的和。-*/main() int i; float t,s=0; float fac(int n); /*FOUND*/ for(i=1;i10;i+) /*FOUND*/ s=fac(i); printf(%fn,s);float fac(int n)/*FOUN

6、D*/ int y=1; int i; for(i=1 ;i=n;i+) y=y*i; /*FOUND*/ return;答案:【1】 for(i=1;i=i;i+) 或 for(i=1;ii;i+)【2】 s= s + fac(i) ; 或 s+=fac(i); 或 s=fac(i)+s;【3】 float y=1.0; 或 float y=1;【4】 return y; 或 return(y); 或 return (y);14)/*- 【程序改错】-功能:求1到20的阶乘的和。-*/fun() int n,j; float s=0.0,t=1.0; for(n=1;n=20;n+) /*F

7、OUND*/ s=1; for(j=1;j=n;j+) /*FOUND*/ t=t*n; /*FOUND*/ s+t=s; /*FOUND*/ printf(jiecheng=%dn,s);main() fun();答案:【1】 t=1; 或 t=1.0;【2】 t= t * j ; 或 t*=j; 或 t=j*t;【3】 s= s + t ; 或 s+=t; 或 s=t+s;【4】 printf(jiecheng=%fn,s);15)/*- 【程序改错】-功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型, 输出时只输出整数部分,输出项数不得多于或少于20。-*/fun() int i; float f1=1,f2=1,f3; /*FOUND*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号