收藏 分销(赏)

c语言程序改错题.docx

上传人:Fis****915 文档编号:551507 上传时间:2023-12-06 格式:DOCX 页数:9 大小:15.23KB 下载积分:6 金币
下载 相关 举报
c语言程序改错题.docx_第1页
第1页 / 共9页
c语言程序改错题.docx_第2页
第2页 / 共9页


点击查看更多>>
资源描述
【程序改错】 功能:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1- —— - —— - ... - —— 2x2 3x3 mxm 例如:若m=5,则应输出:0.536389 ------------------------------------------------------*/ #include <stdio.h> double fun(int m) { double y=1.0; int i; /**********FOUND**********/ for(i=2;i<m;i--) for(i=2;i<=m;i++) /**********FOUND**********/ y-=1/(i*i); y-=1.0/(i*i) /**********FOUND**********/ return m; return y } main() { int n=5; printf("\nthe result is %lf\n",fun(n)); } 【程序设计】 --------------------------------------------------------- 题目:编程求所有4位数,这些数具有以下特点:这数本身是平方数,且其低2位和高2位所组成的2个2位数也是平方数。 要求:使用程序中定义的变量 -------------------------------------------------------*/ #include <stdio.h> #include <math.h> main(){ int qw,bw,sw,gw; // qw千位数bw百位数sw十位数gw个位数 int a,b; //a 高两位低两数 int i; //循环变量 /**********Program**********/ for(i=1000;i<10000;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)==(int)sqrt(b)) printf(“%d\n”,i); } /********** End **********/ }【程序设计】 功能:从键盘为一维整型数组输入10个整数,调用fun 函 数找出其中最小的数,并在main函数中输出。。 ------------------------------------------------*/ #include "stdio.h" void wwjt(); int fun(int x[],int n) { /**********Program**********/ int z,k; z=x[0]; for(k=1;k<n;k++) if(z>x[k])z=x[k]; return(z); /********** End **********/ } void main(){ int a[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); min=fun(a,10); printf("%d\n",min); wwjt(); } void wwjt() { FILE *IN,*OUT; int in[4],out; IN=fopen("in.dat","r"); if(IN==NULL) printf("Read FILE Error"); OUT=fopen("out.dat","w"); if(OUT==NULL) printf("Write FILE Error"); for(int j=0;j<5;j++) { for(int i=0;i<4;i++) { fscanf(IN,"%d",&in[i]); } out=fun(in,4); fprintf(OUT,"%d\n",out); } fclose(IN); fclose(OUT); } 【程序设计】 --------------------------------------------------------- 题目:求Sn=a+aa+aaa+……+aa…a之值,其a中代表1到9中的一个数字。例如:a代表2, 则求2+22+222+2222+22222(此时n=5),a和n由键盘输入。 -------------------------------------------------------*/ #include <stdio.h> 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(a,n); printf("a+aa+aaa+...+aa..a=%d\n", 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;j<3;j++) { fscanf(IN,"%d",&a); fscanf(IN,"%d",&n); fprintf(OUT,"%d\n",fun(a,n)); } fclose(IN); fclose(OUT); } 【程序设计】 --------------------------------------------------------- 题目:已知某班5名学生的三门课成绩。试编写程序,输入这5个学生的三门课成绩 a[5][3],输出每门课成绩的平均分vag[3]。 #include <stdio.h> void main( ) { /**********Program**********/ int a[5][3]; float vag[3]; int i,j; for(i=0;i<5;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<5;i++) { for(j=0;j<3;j++) printf("%3d",a[i][j]); printf("\n"); } for(j=0;j<3;j++) vag[j]=0; for(i=0;i<5;i++) for(j=0;j<3;j++) vag[j]=vag[j]+a[i][j]/5.0; for(i=0;i<3;i++) printf("%.2f\n",vag[i]); /********** End **********/ } 【程序改错】 功能:有一数组内放10个整数,要求找出最小数和它的下标,然后 把它和数组中最前面的元素即第一个数对换位置. #include <stdio.h> main( ) { int i,a[10],min,k=0; printf("\n please input array 10 elements\n"); for(i=0;i<10;i++) /***********FOUND***********/ scanf("%d", a[i]); scanf("%d", &a[i]); for(i=0;i<10;i++) printf("%d",a[i]); min=a[0]; /***********FOUND***********/ for(i=3;i<10;i++) for(i=1;i<10;i++) /***********FOUND***********/ if(a[i]>min) if(a[i]<min) { min=a[i]; k=i; } /***********FOUND***********/ a[k]=a[i]; a[k]=a[0]; a[0]=min; printf("\n after eschange:\n"); for(i=0;i<10;i++) printf("%d",a[i]); printf("\nk=%d\nmin=%d\n",k,min); } 【程序填空】 功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 #include <stdio.h> main() { int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf("%d",&x); /***********SPACE***********/ while(【?】) x!=0 { if(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/j else av2=0; printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2); } 【程序改错】 功能:根据整型形参 m,计算某一数据项的值。 y = 1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m) 例如:若m = 2000,则应输出: 0.000160。 #include <conio.h> #include <stdio.h> /**********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 ; printf( "\nThe result is %lf\n", fun ( n ) ) ; } 【程序填空】题目:求100以内个位数为6且能够被3整除的所有数 #include<stdio.h> void main() { Int i,j; /***********SPACE***********/ for(i=0;【?】;i++) i<=9 { j=i*10+6; /***********SPACE***********/ if(【?】) j%3!=0 continue; printf("%d\t",j); } } 【程序填空】 --------------------------------------------------------- 功能:下面程序的功能是用do-while语句求1至1000之间满足 "用3除余2;且用5除余3"的数,且一行只打印五个数。 -------------------------------------------------------*/ #include <stdio.h> main() { int i=1,j=0; do{ /***********SPACE***********/ if(【?】) i%3==2&&i%5==3 { printf("%4d",i); j=j+1; /***********SPACE***********/ if(【?】) printf("\n"); j%5==0 } i=i+1; }while(i<1000); } 【程序填空】 题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。 #include <stdio.h> /***********SPACE***********/ 【?】 #include<math.h> main() { int x; double y,z; /***********SPACE***********/ scanf("【?】",&x,&y); %d%lf z=2*x*sqrt(y); /***********SPACE***********/ printf("z=【?】",z); %lf } 【程序改错】功能:实现3行3列矩阵的转置,即行列互换。 #include <stdio.h> fun(int a[3][3],int n) { Int i,j,t; for(i=0;i<n;i++) for(j=0;j<n;j++) /**********FOUND**********/ scanf("%d",a[i][j]); scanf("%d",&a[i][j]); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%4d",a[i][j]); printf("\n"); } for(i=0;i<n;i++) /**********FOUND**********/ for(j=0;j<n;j++) for(j=0;j<i;j++) { /**********FOUND**********/ a[i][j]=t; t=a[i][j]; a[i][j]=a[j][i]; /**********FOUND**********/ t=a[j][i]; a[j][i]=t; } for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%4d",a[i][j]); printf("\n"); } } main() { int b[3][3]; fun(b,3); } 【程序改错】功能:实现两个字符串的连接。 例如:输入dfdfqe和12345时,则输出dfdfqe12345. #include <stdio.h> main() { char s1[80],s2[80]; 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(s1[i]=='\0') while(s1[i]!='\0') i++; /**********FOUND**********/ while(s2[j]=='\0') while(s2[j]!='\0') { /**********FOUND**********/ s2[j]=s1[i]; s1[i]=s2[j]; i++; j++; } /**********FOUND**********/ s2[j]='\0'; s1[i]='\0'; } 【程序填空】 功能:下面的程序是求1!+3!+5!+……+n!的和。 #include <stdio.h> main(){ long int f,s; int i,j,n; /***********SPACE***********/ 【?】; s=0 scanf("%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=%ld\n",n,s); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服