1、ai); 4 max=fun(a,&p,N); /*-2题目:用起泡法对10个整数从小到大排序。void sort(int x,int n) int i,j,k,t;n-1; for(j=0;jxi+1) t=xj;xj=xj+1;xj+1=t; int i,n,a100;please input the length of the array:n);n; sort(a,n);output the sorted array:=n-1;%5d- 错误答案: 1 void sort(int x,int n) 2 for(j=0;n-1-i;j+) 或 for(j=0;n-1-ij;n-(1+i);
2、n-(1+i) 3 if(xjxj+1) 或 if(xj+1=0;i-) if(number=ai) ai=ai-1; else ai+1=number; exit;a0) a0=number;The result array: 1 scanf(number); 2 for(i=N-2;i-) 或 for(i=N-2;0=i; 3 ai+1=ai; 4 break; -4【程序改错】题目:以下程序的功能是求如下表达式: S = 1 + 1/(1+2)+1/(1+2+3)+1/(1+2+3+4) 请改正程序中的错误,使程序能得到正确的运行结果。#include int n; float fun(
3、);Please input a number:,n) ;%10.6fn,fun(n);fun(int n) int i,j,t; float s; s=0; for(i=1;=n;i+); t=0; for(j=1; t=t+j; s=s+1/t; return s; 2 float fun(int n) 3 for(i=1;i+) 或 for(i=1;nn+1;n+1i; 4 s+=1.0/t 或 s=s+1.0/(float)t; 或 s=s+1.0/t; 或 s+=1.0/(float)t/*-5题目:输入一行英文文本,将每一个单词的第一个字母变成大写。例如:输入This is a C
4、 program.,输出为This Is A C Program.。string.hconio.hfun(char p) int k=0;/*FOUND*/ while(*p=0) if(k=0&*p!= *p=toupper(*p); k=0; else if(*p!) k=1; else k=0; *p+; char str81; clrscr();please input a English text line: gets(str);The original text line is : puts(str); fun(str);The new text line is : 1 fun(c
5、har *p) 或 fun(char p) 2 while(*p!) 或 while(*p) 3 k=1; 4 p+; 或 p=1+p; 或 +p; 或 p=p+1;6【程序改错】将一个字符串中的大写字母转换成小写字母。 例如:输入aSdFG输出为asdfg。#includechar fun(char c) if(*cA)*c-=-a; fun= c;char s81,*p=s; gets(s); while(*p) *p=fun(p); puts(*p); p+;putchar(n 1 char fun(char *c) 2 return *c; 或 return (*c); 或 retur
6、n(*c); 3 char s81,*p=s; 4 putchar(*p); 或 printf(%c,*p); -7【程序改错】-题目:下列给定程序中,函数fun的功能是:判断m是否为素数,若是返回1,否则返回0。主函数的功能是:按每行5个输出1-100之间的全部素数。 请改正程序中的4个错误,使它能得出正确的结果。 int m,k=0; for(m=1;m100;m+) if(fun(m)=1)%4d,m);k+; if(k%5=0)printf(void fun( int m) int i,k=1; if(m=m-1;m-1= 3 if(m%i=0) k=0; 4 return k;8题目
7、:函数fun的功能是:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 1 1 1 = 1 - + - + . 4 3 5 7 请改正程序中的错误,使它能得出正确的结果。#include stdio.hfun() int i=1; int s=0,t=1,p=1; while(fabs(t)1e-4) 或 while(0.0001fabs(t) 或 while(1e-40.0001) 4 printf(pi=%fn9题目:求1到10的阶乘的和。主函数和fun函数中,各有两个错误,请改正,使其能得到正确的运行结果。-main() int i; float t,s=0; f
8、loat fac(int n);10; s=fac(i);%fn,s); float fac(int n) int y=1; for(i=1 ; y=y*i; return; 1 for(i=1;=10;1011;11 2 s=s+fac(i); 或 s+=fac(i); 3 float y=1.0; 或 float y=1; 4 return y; 或 return(y); 或 return (y);10题目:求1到20的阶乘的和。请改正程序中的错误,使它能得出正确的结果。 int n,j; float s=0.0,t; for(n=1;n1+m 2 y-=1.0/(i*i); 或 y=y-
9、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; 3 return y;【程序改错】12题目:实现交换两个整数的值。例如给a和b 分别输入3和6 ,输出为a=6 b=3void fun (int a, b) int t; t=a; a=b; b=t; int a,b;enter a,b:scanf(%d%da,&b); fun(&a=%d b=%dn,a,b); 1 void fun (int *a,int *b) 或 fun (int *a
10、,int *b) 2 t=*a; 3 *a=*b; 4 *b=t;13【程序改错】计算并输出k以内最大的10个能被13 或17整除的自然数之和。k的值由主函数传入,若k的值 为500,则函数值为4622。 请更改程序中的错误,使它能得出正确的结果。int fun(int k) int m=0,mc=0,j; while (k=2)|(mc10) if(k%13=0)|(k%17=0) m=m+k; mc+; k+; return ;%dn,fun(500); 1 while (2=k)&(mc=2)&(10mc) 或 while (210) 或 while (2(9=mc) 或 while (2=9) 2 if (k%17=0)|(k%13=0) 或 if !(k%17!=0)&(k%13!=0) 3 k-; 4 return m; 或 return(m);14【
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1