C语言-程序改错

上传人:桔**** 文档编号:508712761 上传时间:2022-12-12 格式:DOC 页数:14 大小:77.50KB
返回 下载 相关 举报
C语言-程序改错_第1页
第1页 / 共14页
C语言-程序改错_第2页
第2页 / 共14页
C语言-程序改错_第3页
第3页 / 共14页
C语言-程序改错_第4页
第4页 / 共14页
C语言-程序改错_第5页
第5页 / 共14页
点击查看更多>>
资源描述

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

1、功能:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1- - - . - 2x2 3x3 mxm 例如:若m=5,则应输出:0.536389#include double fun(int m) double y=1.0; int i; /*FOUND*/ for(i=2;im;i-) /*FOUND*/ y-=1/(i*i); /*FOUND*/ return m;main() int n=5; printf(nthe result is %lfn,fun(n);答案: (答案1) for(i=2;i=i;i+)或 for(i=2;im+1;i+) 或 for(i=2;ii;i+

2、) 或 for(i=2;1+mi;i+) (答案2) y-=1.0/(i*i); 或 y=y-1.0/(i*i);或 y-=1.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);功能:用起泡法对10个整数从小到大排序。 #include /*FOUND*/void sort(int x,int n) int i,

3、j,t; for(i=0;in-1;i+) /*FOUND*/ for(j=0;jxi+1) t=xj; xj=xj+1; xj+1=t; main() int i,n,a100; printf(please input the length of the array:n); scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); /*FOUND*/ sort(n,a); printf(output the sorted array:n); for(i=0;i=n-1;i+) printf(%5d,ai); printf(n);答案: (答案1) void so

4、rt(int *x,int n) 或void sort(int x,int n)(答案2) for(j=0;jj;j+) 或 for(j=0;jj;j+) 或 for(j=0;jx j + 1 ) 或 if(x j + 1 xj) (答案4) sort(a,n);功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数), 后输出矩阵第一行与第三行元素之积,并在fun()函数中输出。-*/#include int fun(int a33) int i,j,sum; /*FOUND*/ sum=0; /*FOUND*/ for(i=0;i3;i+) for(j=0;j3;j+) /*FOUND

5、*/ sum=*aij; return sum;main() int i,j,s,a33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s);答案:=(答案1)=sum=1;=(答案2)=for(i=0;i3;i+=2)=或=for(i=0;i3;i=i+2)=或=for(i=0;i3;i+,i+)=(答案3)=sum=sum*aij;=或=sum*=aij;例1:求一个3行4列矩阵的外框的元素值之和。注意:矩阵四个角上的元素不能重复加。例如:矩阵元素为1,2,3,4,5,6,7,8,9,10,1

6、1,12时, 四框元素值之和应为65。-*/#include int fun(int a34,int m,int n) /*FOUND*/ int i,j,s,s1=s2=s3=s4=0; for(j=0;jn;j+) s1=s1+a0j; /*FOUND*/ s2=s2+amj; /*FOUND*/ for(i=0;im;i+) s3=s3+ai0; s4=s4+ain-1; /*FOUND*/ s=s1-s2-s3-s4; return s;main() int a34=1,2,3,4,5,6,7,8,9,10,11,12; printf(total=%dn,fun(a,3,4);答案:=

7、(答案1)=int i,j,s,s1=0,s2=0,s3=0,s4=0;=(答案2)=s2= s2 + am-1j ;=或=s2+=am-1j;=或=s2=am-1j+s2;=(答案3)=for(i=1;im-1;i+)=或=for(i=1;ii;i+)=或=for(i=1;-1+mi;i+)=或=for(i=1;i=i;i+)=(答案4)=s= s1 + s2 + s3 + s4 ;例2:编写函数fun,求两个整数的最小公倍数,然后用主函数main()调用这个函数并输出结果,两个整数由键盘输入。-*/#include int fun(int m,int n) int i; /*FOUND*/

8、 if (m=n) i=m; m=n; n=i; for(i=m;i=m*n;i+=m) /*FOUND*/ if(i%n=1) return(i); return 0;main() unsigned int m,n,q; printf(m,n=); scanf(%d,%d,&m,&n); /*FOUND*/ q=fun(m,n); printf(p(%d,%d)=%d,m,n,q);答案:=(答案1)=if (mn)=(答案2)=if(i%n=0)=(答案3)=q=fun(m,n);功能:求一个3行4列矩阵的外框的元素值之和。注意:矩阵四个角上的元素不能重复加。例如:矩阵元素为1,2,3,4

9、,5,6,7,8,9,10,11,12时, 四框元素值之和应为65。#include int fun(int a34,int m,int n) /*FOUND*/ int i,j,s,s1=s2=s3=s4=0; for(j=0;jn;j+) s1=s1+a0j; /*FOUND*/ s2=s2+amj; /*FOUND*/ for(i=0;im;i+) s3=s3+ai0; s4=s4+ain-1; /*FOUND*/ s=s1-s2-s3-s4; return s;main() int a34=1,2,3,4,5,6,7,8,9,10,11,12; printf(total=%dn,fun(a,3,4);答案:=(答案1)=int i,j,s,s1=0,s2=0,s3=0,s4=0;=(答案2)=s2= s2 + am-1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

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