c语言程序改错题.docx

上传人:美****子 文档编号:77547905 上传时间:2023-03-15 格式:DOCX 页数:14 大小:17.21KB
返回 下载 相关 举报
c语言程序改错题.docx_第1页
第1页 / 共14页
c语言程序改错题.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《c语言程序改错题.docx》由会员分享,可在线阅读,更多相关《c语言程序改错题.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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-) for(i=2;i=m;i+) /*FOUND*/y-=1/(i*i); y-=1.0/(i*i) /*FOUND*/return m; return ymain()int n=5;printf(nthe result is %lfn,fun(n);【程序设计】题目:编程求所有4位数,这些数具有

2、以下特点:这数本身是平方数,且其低2位和高2位所组成的2个2位数也是平方数。要求:使用程序中定义的变量#include #include main()int qw,bw,sw,gw; / qw千位数bw百位数sw十位数gw个位数int a,b; /a 高两位低两数int i; /循环变量 /*Program*/for(i=1000;i10000;i+) qw=i/1000; bw=i/100%10; sw=i/10%10; gw=i%10;a=qw*10+bw;b=sw*10+gw;if(sqrt(i)=(int)sqrt(i)&sqrt(a)=(int)sqrt(a)&sqrt(b)=(in

3、t)sqrt(b)printf(“%dn”,i); /* End */【程序设计】功能:从键盘为一维整型数组输入10个整数,调用fun 函数找出其中最小的数,并在main函数中输出。#include stdio.hvoid wwjt();int fun(int x,int n) /*Program*/ int z,k;z=x0;for(k=1;kxk)z=xk;return(z); /* End */ void main()int a10,i,min;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)printf(%3d,ai);printf(n);min

4、=fun(a,10);printf(%dn,min); wwjt();void wwjt() FILE *IN,*OUT;int in4,out; IN=fopen(in.dat,r);if(IN=NULL) printf(Read ); OUT=fopen(out.dat,w);if(OUT=NULL) printf(Write );for(int j=0;j5;j+)for(int i=0;i4;i+)fscanf(IN,%d,&ini);out=fun(in,4);fprintf(OUT,%dn,out);fclose(IN);fclose(OUT);【程序设计】题目:求Sn=a+aa+

5、aaa+aaa之值,其a中代表1到9中的一个数字。例如:a代表2,则求2+22+222+2222+22222(此时n=5),a和n由键盘输入。#include void wwjt();int fun(int a,int n)int t=a,i,s; /* t 表示每个项 */*Program*/s=0;for(i=1;i=n;i+) s=s+t; t=t*10+a;return s;/* End */void main( )int a, n, s ;printf(输入a和n的值:);scanf(%d%d, &a, &n) ;printf(a=%d, n=%d:n, a, n) ; s=fun(

6、a,n);printf(a+aa+aaa+.+aa.a=%dn, s);wwjt();void wwjt() FILE *IN,*OUT;int j;inta,n; IN=fopen(in.dat,r);if(IN=NULL)printf(Please Verify The CurrerntDir.It May Be Changed); OUT=fopen(out.dat,w);if(OUT=NULL)printf(Please Verify The Current Dir. It May Be Changed);for(j=0;j3;j+)fscanf(IN,%d,&a);fscanf(IN

7、,%d,&n);fprintf(OUT,%dn,fun(a,n);fclose(IN);fclose(OUT);【程序设计】题目:已知某班5名学生的三门课成绩。试编写程序,输入这5个学生的三门课成绩 a53,输出每门课成绩的平均分vag3。#include void main( )/*Program*/int a53;float vag3;int i,j;for(i=0;i5;i+) for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i5;i+) for(j=0;j3;j+)printf(%3d,aij);printf(n); for(j=0;j3;j+) vagj=0

8、;for(i=0;i5;i+) for(j=0;j3;j+) vagj=vagj+aij/5.0;for(i=0;i3;i+)printf(%.2fn,vagi);/* End */【程序改错】功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置.#include main( )int i,a10,min,k=0;printf(n please input array 10 elementsn);for(i=0;i10;i+) /*FOUND*/scanf(%d, ai); scanf(%d, &ai);for(i=0;i10;i+)print

9、f(%d,ai); min=a0; /*FOUND*/for(i=3;i10;i+) for(i=1;imin) if(aimin)min=ai; k=i; /*FOUND*/ak=ai; ak=a0;a0=min;printf(n after eschange:n);for(i=0;i10;i+) printf(%d,ai);printf(nk=%dnmin=%dn,k,min);【程序填空】功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。#include main()int x,i=0,j=0;float s1=0,s2=0,av1,av2;scanf(%d,&x);

10、/*SPACE*/ while(【?】) x!=0if(x%2=0) s1=s1+x;i+; /*SPACE*/【?】 if(x%2=1) s2=s2+x;j+; /*SPACE*/【?】; scanf(%d,&x);if(i!=0) av1=s1/i;else av1=0;if(j!=0) /*SPACE*/【?】 ; av2=s2/jelse av2=0;printf(oushujunzhi:%7.2f,jishujunzhi:%7.2fn,av1,av2);【程序改错】功能:根据整型形参 m,计算某一数据项的值。 y = 1/(100*100)+1/(200*200)+1/(300*30

11、0)+ +1/(m*m)例如:若m = 2000,则应输出: 0.000160。#include #include /*FOUND*/fun ( int m ) float fun ( int m )double y = 0, d ;int i ; /*FOUND*/for( i = 100, i = m, i += 100 ) for( i = 100; i = m; i += 100 ) d = (double)i * (double)i ; /*FOUND*/ y += 1.0 d ; y += 1.0/d ;return( y ) ;main( )int n = 2000 ;print

12、f( nThe result is %lfn, fun ( n ) ) ;【程序填空】题目:求100以内个位数为6且能够被3整除的所有数#includevoid main()Int i,j;/*SPACE*/ for(i=0;【?】;i+) i=9 j=i*10+6;/*SPACE*/ if(【?】) j%3!=0continue;printf(%dt,j);【程序填空】功能:下面程序的功能是用do-while语句求1至1000之间满足 用3除余2;且用5除余3的数,且一行只打印五个数。#include main()int i=1,j=0;do/*SPACE*/ if(【?】) i%3=2&i

13、%5=3printf(%4d,i); j=j+1;/*SPACE*/ if(【?】) printf(n); j%5=0 i=i+1;while(i1000);【程序填空】题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。#include /*SPACE*/【?】 #includemain() int x;double y,z;/*SPACE*/scanf(【?】,&x,&y); %d%lf z=2*x*sqrt(y);/*SPACE*/printf(z=【?】,z); %lf【程序改错】功能:实现3行3列矩阵的转置,即行列互换。#include fun(int a3

14、3,int n)Int i,j,t;for(i=0;in;i+)for(j=0;jn;j+) /*FOUND*/scanf(%d,aij); scanf(%d,&aij);for(i=0;in;i+)for(j=0;jn;j+)printf(%4d,aij);printf(n);for(i=0;in;i+) /*FOUND*/for(j=0;jn;j+) for(j=0;ji;j+) /*FOUND*/aij=t; t=aij;aij=aji; /*FOUND*/ t=aji; aji=t;for(i=0;in;i+)for(j=0;jn;j+)printf(%4d,aij);printf(n

15、);main()int b33;fun(b,3);【程序改错】功能:实现两个字符串的连接。例如:输入dfdfqe和12345时,则输出dfdfqe12345.#include main()char s180,s280;void scat(char s1,char s2);gets(s1);gets(s2);scat(s1,s2);puts(s1);void scat (char s1,char s2)int i=0,j=0; /*FOUND*/while(s1i=0) while(s1i!=0)i+; /*FOUND*/while(s2j=0) while(s2j!=0) /*FOUND*/s2j=s1i; s1i=s2j;i+;j+; /*FOUND*/s2j=0; s1i=0;【程序填空】功能:下面的程序是求1!+3!+5!+n!的和。#include main()long int f,s;int i,j,n; /*SPACE*/【?】; s=0scanf(%d,&n); /*SPACE*/ for(i=1;i=n; 【?】) i+=2 f=1; /*SPACE*/ for(j=1; 【?】;j+) j=i /*SPACE*/【?】; f=f*j s=s+f;printf(n=%d,s=%ldn,n,s);第 14 页

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

当前位置:首页 > 应用文书 > 文案大全

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁