文档详情

C语言改错复习题_1.doc

发布:2017-02-05约6.59万字共15页下载文档
文本预览下载声明
6)./*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:求如下表达式: 1 1 1 S = 1 + —— + ——— + ...... + ——————— 1+2 1+2+3 1+2+3+......+n ------------------------------------------------------*/ #include stdio.h main() { int n; float fun(); printf(Please input a number:); /**********FOUND**********/ print(%d,n) ; printf(%10.6f\n,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+j; /**********FOUND**********/ =s+1/t; } return s; } 答案: 【1】 scanf(%d,n); 【2】 float fun(int n) 【3】 for(i=1;i=n;i++) 或 for(i=1;n=i;i++) 或 for(i=1;in+1;i++) 或 for(i=1;n+1i;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。 ------------------------------------------------------*/ #includestdio.h main() { int m,k=0; for(m=1;m100;m++) if(fun(m)==1) { printf(%4d,m);k++; if(k%5==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;im;i++) 或 for(i=2;mi;i++) 或 for(i=2;i=m-1;i++) 或 for(i=2;m-1=i;i++) 【3】 if( m%i == 0 ) k=0; 【4】 return k; 12)./*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值 小于等于0.0001。 π
显示全部
相似文档