C语言改错复习题1

上传人:宝路 文档编号:4343153 上传时间:2017-08-18 格式:DOC 页数:14 大小:48.50KB
返回 下载 相关 举报
C语言改错复习题1_第1页
第1页 / 共14页
C语言改错复习题1_第2页
第2页 / 共14页
C语言改错复习题1_第3页
第3页 / 共14页
C语言改错复习题1_第4页
第4页 / 共14页
C语言改错复习题1_第5页
第5页 / 共14页
点击查看更多>>
资源描述

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

1、第 1 页共 14 页6) /*- 【程序改错】-功能:求如下表达式:1 1 1S = 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=i;i+) 或 for(i=1;ii;i+)【4】 s+=1.0/t; 或 s= s + 1.0

2、/(float)t; 或 s= s + 1.0 /t; 或 s+=1.0/(float)t;11) /*- 【程序改错】-功能:判断 m 是否为素数,若是返回 1,否则返回 0。-*/#includemain()int m,k=0;for(m=1;mi;i+) 或 for(i=2;ii;i+)【3】 if( m%i = 0 ) k=0;【4】 return k;第 3 页共 14 页12) /*- 【程序改错】-功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于 0.0001。 1 1 1 = 1 - + - + .4 3 5 7-*/*FOUND*/#include stdio

3、.hfun()int i=1;/*FOUND*/int s=0,t=1,p=1;/*FOUND*/while(fabs(t)【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,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.00010.0001)第 4 页共 14 页【4】 printf(pi=%fn, s * 4 );13) /*- 【程序改错】-功能:求 1 到 10 的阶

4、乘的和。-*/main()int i;float t,s=0;float fac(int n);/*FOUND*/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 的阶乘的和。第 5 页共 14 页-*/fun() int n,j;float s=0.0,t=1.0;for(n=1;ni;i+) 或

5、for(i=2;i=i;i+) 或 for(i=1;i=i;i+)【3】 f1=f2;【4】 f2=f3;16) /*- 【程序改错】-功能:根据整型形参 m 的值,计算如下公式的值。 1 1 1t = 1- - - . - 2x2 3x3 mxm 例如:若 m=5,则应输出: 0.536389-*/第 7 页共 14 页double fun(int m)double y=1.0;int i;/*FOUND*/for(i=2;i=i;i+) 或 for(i=2;ii;i+) 或 for(i=2;1+mi;i+)【2】 y-=1.0/(i*i); 或 y=y-1.0/(i*i); 或 y-=1.

6、0/(float)(i*i); 或 y=y-1.0/(float)(i*i); 或 y=y-1.0/i/i; 或 y=y-1.0/(float)i/(float)i; 或 y=y-1/(double)(i*i); 或 y-=1/(double)(i*i);【3】 return y; 或 return (y); 或 return(y);18) /*- 【程序改错】-功能:计算并输出 k 以内最大的 10 个能被 13 或 17 整除的自然数之和。k 的值由主函数传入。例如:若 k 的值为 500,则函数值为 4622。-*/int fun(int k)int m=0,mc=0,j;/*FOUND

7、*/while (k=2)|(mc=2) & (mc=2) & (mc/*FOUND*/fun (int n)double sum,s0,s1,s2,s;int k;/*FOUND*/sum=0.0;if(nn;k+)s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;return sum;main()int n;scanf(%d,&n);printf(%lfn,fun(n);答案:【1】 double fun (int n)【2】 sum=1.0; 或 sum=1;【3】 s2=1.0; 或 s2=1;【4】 for(k=4;k=k;k+) 或 for(k=4;

8、kk;k+) 或 for(k=4;1+nk;k+)21) /*- 【程序改错】-功能:根据以下公式求 值,并作为函数值返回。例如:给指定精度的变量 eps 输入 0.0005 时,应当输出 Pi=3.140578。 1 1 2 1 2 3 1 2 3 4 = 1 + + x + x x + x x x + .2 3 3 5 3 5 7 3 5 7 9-*/double fun(double eps)double s,t;int n=1;s=0.0;t=1;第 11 页共 14 页/*FOUND*/while(teps) 或 while(eps=eps) 或 while(epseps) 或 wh

9、ile (eps=eps) 或 while (epsint fun( int m)int i,k;for(i=m+1;i+)第 13 页共 14 页/*FOUND*/for(k=1;kk;k+) 或 for(k=2;kk;k+) 或 for(k=2;k=k;k+)【2】 if( i%k = 0 ) break; 或 if(!(i%k) break;【3】 if(i=i) 或 if( k = i ) 或 if(k=i/2) 或 if(k=i/2) 或 if(ksqrt(i)【4】 return i; 或 return (i);374) /*- 【程序改错】-功能:读入一个整数 k(2k 10000),打印它的所有质因子(即所有为素数的因子) 。例如:若输入整数:2310,则应输出:2、3、5、7、11。请改正程序中的语法错误,使程序能得出正确的结果。-*/#include conio.h#include stdio.h/*

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

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

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