C语言程序改错2.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序改错2

1、以下程序的功能是求如下表达式: 11 1 S = 1 + —— + ——— + ...... + ——————— 1+2 1+2+3 1+2+3+......+n 『答案』:1 scanf(%d,n); 2 float fun(int n) 3 for(i=1;i=n;i++)4 s+=1.0/t 或 s= s + 1.0 /t; 2、题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 11 1 t = 1- —— - —— - ... - —— 2x2 3x3mxm 例如,若m=5,则应输出:0.536389『答案』:1 for(i=2;i=m;i++)或 for(i=2;im+1;i++) 2 y-=1.0/(i*i); 或 y=y-1.0/(i*i); 3 return y; 或 return (y);3、函数fun的功能是:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 π 11 1 — = 1 - — + — - — + ... 4 3 5 7『答案』:1 #include math.h 或 #include math.h 2 float s=0,t=1,p=1; 3 while(fabs(t)1e-4)或 while(fabs(t)0.0001) 4 printf(pi=%f\n, s * 4 );4、功能:计算正整数num的各位上的数字之积。例如,输入252,则输出应该是20。『答案』:1 long k=1; 或 long int k=1; 2 num/=10; 或 num=num/10; 3 scanf(%ld,n); 4 printf(\n%ld\n,fun(n));5、功能:(与上题略有不同)计算正整数num的各位数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。『答案』:1 {long k=1; 2 num/=10; 或 num=num/10; 3 } while(num) ; 或 }while(num!=0); 或 }while(num0);6、题目:判断m是否为素数,若是返回1,否则返回0。『答案』:1 int fun( int m) 或 fun( int m) 2 for(i=2;im;i++) 3 if( m%i == 0 ) k=0; 4 return(k); 或 return k;7、功能:找出大于m的最小素数,并将其作为函数值返回。『答案』:1 for(k=2;ki;k++) 或 for(k=2;k=i-1;k++) 或 for(k=2;k=sqrt(i);k++) 2 if( i%k == 0 ) break; 或 if(!(i%k)) break; 3 if(i=k)或 if( k == i ) 或 if(ksqrt(i)) 4 return i; 或 return (i);8、功能:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。『答案』:1 while ( (k=2) (mc10) )或 while ( (k=2) (mc=9) ) 2 if(!(k%17!=0 k%13!=0 )) 或 if( ( k%13 == 0 ) || ( k%17 == 0 ) ) 3 k--; 或 k=k-1; 或 k-=1; 或 --k; 4 return m; 或 return(m);9、在一个一维整型数组中找出其中最大的数及其下标。程序中共有4条错误语句,请改正错误。『答案』:1 int fun(int *a,int *b,int n) 2 *b=c-a;} 3 scanf(%d,a[i]); 或 scanf(%d, a + i ); 4 max=fun(a,p,N);10、通过键盘输入10个整数为一维数组各个元素赋值;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出调整后的数组元素。『答案』:1 scanf(%d,p++); 或 scanf(%d,arr[i]); 或 scanf(%d,p+i); 2 if(*p*max) 或 if(*max*p) 3 if( max == arr ) 4 for(i=0;in;i++)或 for(p=arr;parr+n;)11、用起泡法对10个整数从小到大排序。『答案』:1 for(j=0;j n -1 -i ;j++) 2 if(x[j]x[ j + 1 ]) 或 if(x[ j + 1] x[j]) 3 scanf(%d,a[i]); 或 scanf(%d,a+i); 4 sort(a,n); 或 sort(a[0],n);12

文档评论(0)

wuyuetian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档