三、改错题(15分)。 给定程序的功能是:求自然数1到100之间的和与自然数1到50之间的平方和与自然 数1到10之间的倒数之和的和。即 (1+2+3+.+100)+(1*1+2*2+3*3+.+50*50)+(1/1+1/2+1/3+.+1/10)。输出结果 m=47977.93. include<stdio.h≥ void main() intnls=100,n2=50 int n3=10; /你**家**来客**米家**家家*率0门d*率率**家***家**客**率家*》 float k oas1=0,s2-0,s3-0 for(k=1 k<=nl:k++) sl=k 作华*率率*车华*车率家率车fOUd丰率率*率率率*幸率幸*率率客*幸/ for(k=1.k<n2.k++) 2=s2+k*k for(k=l.k<=n3.k++) s3=s3+1.0/k printf("sum=%8.2fn".s1+s2+s3) 请改正体幸幸*foud**/下一行语句中的错误,并调试出正确结果。不得增加或别减程序 行,且不得修改其它行。 三、改错题(15分)。 给定程序的功能是:从键盘录入一个字符串以换行结束,向屏幕输出字符串的逆序。例 如:输入abcde,输出e 请改正幸 下一行语句中的错误,并调试出正确结果。不得增加或减程序 行,且不得修改其它行。 #include<stdio.h> #include<string.h void main() char str[100. intil printf("Enter a string:") 序幸幸*车车幸丰车found*华幸幸幸转幸幸*幸制 printf%s",sr) strlen(str); for (i=1-1:i>=0:i++) 产*卡单*卡华来卡单found+中快来中小米卡*来泰中水*/
三、改错题( 15 分)。 给定程序的功能是:求自然数 1 到 100 之间的和与自然数 1 到 50 之间的平方和与自然 数 1 到 10 之间的倒数之和的和。即: (1+2+3+.+100)+(1*1+2*2+3*3+.+50*50)+(1/1+1/2+1/3+.+1/10)。输出结果 sum=47977.93。 #include<stdio.h> void main() { int n1=100,n2=50; int n3=10; /******************found******************/ float k; float s1=0,s2=0,s3=0; for(k=1;k<=n1;k++) /******************found*******************/ s1=k; /******************found******************/ for(k=1;k<n2;k++) s2=s2+k*k; for(k=1;k<=n3;k++) s3=s3+1.0/k; printf("sum=%8.2f\n",s1+s2+s3); } 请改正/****found****/下一行语句中的错误,并调试出正确结果。不得增加或删减程序 行,且不得修改其它行。 三、改错题( 15 分)。 给定程序的功能是:从键盘录入一个字符串以换行结束,向屏幕输出字符串的逆序。例 如:输入 abcde,输出 edcba。 请改正/****found****/下一行语句中的错误,并调试出正确结果。不得增加或删减程序 行,且不得修改其它行。 #include<stdio.h> #include<string.h> void main() { char str[100]; int i,l; printf("Enter a string : "); /*********** found **************/ printf("%s",str); l=strlen(str); /************ found **************/ for (i=l-1;i>=0;i++) /*********** found **************/
printf("%s",str[]) printf("n" 三、改错题(15分)。 给定程序的功能是:计算数组元素中正数值的平均值(不句括0)。从键盘输入若干个数 放入数组中 以0作为最后一个元素结束 入。例如:数组中元素中的值依次为: 39,47,21,4,-80,则程序的运行结果为:213333 #include <stdio.h double fun(intx[) int sum=0.0: int c=0.i=0: while (xfil I=0) if (xlil>0) 体幸华华来*来华*本华中found*游*来数华本本华*来华 sum=X月 C++: i+ sum /=c; return sum; void main() {intx[1000]int i=; printf"Please enter some data(end with):). do {scanf("%d",&x可:} while (x[i++]=0). 作幸*幸*率华*幸*Ound华*率华幸*幸华*率 printf("%fun(00)) 请改正/体*幸*foud*幸*/下一行语句中的错误,并调试出正确结果。不得增加或刚减程序 行,且不得修改其它行。 三、改错题(15分)。 给定程序中函数u的功能是:计算并输出k以内最大的10个能被13或17整除的自
printf("%s",str[i]); printf("\n"); } 三、改错题( 15 分)。 给定程序的功能是:计算数组元素中正数值的平均值(不包括 0)。从键盘输入若干个数 放入数组中,以 0 作为最后一个元素结束输入。例如:数组中元素中的值依次为: 39,-47,21,4,-8,0,则程序的运行结果为:21.333333。 #include <stdio.h> double fun ( int x[]) { /************found************/ int sum = 0.0; int c=0, i=0; while (x[i] != 0) { if (x[i] > 0) { /************found************/ sum=x[i]; c++; } i++; } sum /= c; return sum; } void main( ) { int x[1000]; int i=0; printf( "\nPlease enter some data (end with 0): " ); do { scanf("%d", &x[i]); } while (x[i++] != 0); /************found************/ printf("%f", fun ( x,1000 )); } 请改正/****found****/下一行语句中的错误,并调试出正确结果。不得增加或删减程序 行,且不得修改其它行。 三、改错题( 15 分)。 给定程序中函数 fun 的功能是:计算并输出 k 以内最大的 10 个能被 13 或 17 整除的自
然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。 请改正* ud**/下一行语句中的错误,并调试出正确结果。不得增加或减程序 行,且不得修改其它行 #include <stdio.h> int fun(int k) int m=0.mc=0 while(k>-2)&&(mc<10) if(k%13=0)‖(k%17=0) {m=m+k:mc++:} 快*中*水来泰本卡*found中市*水幸**中 k+, return m oid main() printf("%d\n",fun(500)). 三、改错题(15分)。 给定程序的功能是:从键盘上接收一字符串到a字符数组中,在cpy函数中将a数组中 字符Asc值为偶数的复制到b数组,并在主函数中输出b数组。例如输入"aabede"则输出 bd" 请改正/体*foud**/下一行语句中的错误,并调试出正确结果。不得增加或别减程序 行,且不得修改其它行。 #include<stdio.h> #include<string> void cpy(char pl,char*p2) while("pl) {if*p1%2==0) p2++=*pl: pl++, *+*found**4 *p2=0": void maino
然数之和。k 的值由主函数传入,若 k 的值为 500,则函数值为 4622。 请改正/****found****/下一行语句中的错误,并调试出正确结果。不得增加或删减程序 行,且不得修改其它行。 #include <stdio.h> int fun( int k ) { int m=0,mc=0; while ((k >= 2) && (mc < 10)) { /************found************/ if ((k%13 = 0) || (k%17 = 0)) { m = m+ k; mc++; } /************found************/ k++; } /************found************/ return m } void main ( ) { printf("%d\n", fun (500)); } 三、改错题( 15 分)。 给定程序的功能是:从键盘上接收一字符串到 a 字符数组中,在 cpy 函数中将 a 数组中 字符 AscII 值为偶数的复制到 b 数组,并在主函数中输出 b 数组。例如输入"aabcde"则输出 "bd"。 请改正/****found****/下一行语句中的错误,并调试出正确结果。不得增加或删减程序 行,且不得修改其它行。 #include<stdio.h> #include<string> void cpy(char *p1,char *p2) { while(*p1) {if(*p1%2==0) /***********found*************/ p2++=*p1; p1++; } /***********found*************/ *p2="\0"; } void main()
{char al30],b[30: cpy(a,b) printf("%s"b). 三、改错题(15分) 给定程序的功能是:计算并输出200以内最大的10个素数之和。 请改正/体幸幸*foud*幸*/下一行语句中的错误,并调试出正确结果。不得增加或刷减程序 行,且不得修改其它行。 void main ( int sum =0.n=0.i.ves.h=200 作华华幸*率率*幸中Ound中幸幸幸幸幸来华幸幸幸 while(n<=10) yes=l for(j=2;j<=h/2;j++) /体来水单味来率年水水车◆f0Und中来本泰泰来本单来本来/ if (h/i=0) if(yes-0) {sum+=h:n++,} h-: printf"%dn"sum). 四、编程题(30分)。 给定程序的功能是:找出已知字符串中ASCI值最小的字符,在主函数中输出该字符。 不允许改动预编译命令行及主程序,且必须运行程序。 #include "datalinout4.c" #include <string.h> main()
{char a[30],b[30]; gets(a); /***********found*************/ cpy(a,b) printf("%s",b); } 三、改错题( 15 分)。 给定程序的功能是:计算并输出 200 以内最大的 10 个素数之和。 请改正/****found****/下一行语句中的错误,并调试出正确结果。不得增加或删减程序 行,且不得修改其它行。 #include <stdio.h> #include <math.h> void main ( ) { int sum = 0, n=0, j, yes,h=200; /************found************/ while (n<=10) { yes = 1; for (j=2; j<=h/2; j++ ) /************found************/ if (h/j ==0 ) {yes=0; break;} /************found************/ if (yes==0) {sum +=h; n++;} h-; } printf("%d\n", sum); } 四、编程题( 30 分)。 给定程序的功能是:找出已知字符串中 ASCII 值最小的字符,在主函数中输出该字符。 不允许改动预编译命令行及主程序,且必须运行程序。 #include "data\inout4.c" #include <string.h> main()
char fac(char) char*p; char a="igysktidmg"min; int m; p=a, n-strlen(p) min=fac(p,m) printf("min=%c"min): non(p.m): char fac(char x].int n) 五、简单编程题(20分)。 程序的功能是:打印出1~10000中满足个位数字的立方等于其本身的所有数。 本题的结果为:164125216729根据要求自行编写、调试、运行程序
{ char fac(char x[],int n); char *p; char a[]={"jgysktidmg"},min; int m; p=a; m=strlen(p); min=fac(p,m); printf("min=%c",min); non(p,m); } char fac(char x[],int n) { } 五、简单编程题( 20 分)。 程序的功能是:打印出 1~10000 中满足个位数字的立方等于其本身的所有数。 本题的结果为:1 64 125 216 729 根据要求自行编写、调试、运行程序