C语言程序改错题 联系客服

发布时间 : 星期三 文章C语言程序改错题更新完毕开始阅读

实用文档

------------------------------------------------------*/

#include #include #include

char * fun (char *s, char *t ) {

char *p , *r, *a;

/**********FOUND**********/ a == NULL; while ( *s ) { p = s; r = t; while ( *r )

/**********FOUND**********/ if ( r == p ) { r++; p++; } else break;

/**********FOUND**********/ if ( *r ='\\0' ) a = s; s++; }

return a ; } main() {

char s[100], t[100], *p;

printf(\ printf(\ p = fun( s, t ); if ( p )

printf(\ else

printf(\} 答案:

实用文档

1). a = NULL; 2). if ( *r == *p )

3). if ( *r == '\\0' ) a = s;

第9题 【程序改错】

--------------------------------------------------------

功能:从m个学生的成绩中统计出高于和等于平均分的学生人数, 此人数由函数值返回。平均分通过形参传回,输入学生成 绩时,用-1结束输入,由程序自动统计学生人数。 例如:若输入 8 名学生的成绩,输入形式如下: 80.5 60 72 90.5 98 51.5 88 64 -1 结果为:

The number of students :4 Ave = 75.56。

------------------------------------------------------*/

#include #include #define N 20

int fun ( float *s, int n, float *aver ) {

float av, t ; int count , i; count = 0; t=0.0;

for ( i = 0; i < n; i++ ) t += s [ i ]; av = t / n; printf( \ for ( i = 0; i < n; i++ ) /**********FOUND**********/ if ( s[ i ] < av ) count++; /**********FOUND**********/ aver = av;

/**********FOUND**********/ return count } main() {

float a, s[30], aver; int m = 0;

printf ( \ scanf(\

实用文档

while( a>0 ) {

s[m] = a; m++;

scanf ( \ }

printf( \ printf( \} 答案:

1). if ( s[ i ] >= av ) count++; 2). *aver = av; 3). return count;

第10题 【程序改错】

--------------------------------------------------------

功能:根据以下公式求π值,并作为函数值返回。

例如:给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。

π 1 1 2 1 2 3 1 2 3 4 — = 1 + — + — x — + — x — x — + — x — x — x — + ... 2 3 3 5 3 5 7 3 5 7 9

------------------------------------------------------*/ #include double fun(double eps) {

double s,t; int n=1; s=0.0; t=1;

/**********FOUND**********/ while(t<=eps) { s+=t;

/**********FOUND**********/ t=n/(2*n+1)*t; n++; }

/**********FOUND**********/ return s;

实用文档

} main() {

double x; scanf(\

printf(\} 答案:

1). while(t>eps) 或 while(eps=eps) 或 while(eps<=t) 或 while (t>eps) 或 while (eps=eps) 或 while (eps<=t)

2). t=t*n/(2*n+1); 或 t=1.0*n/(2*n+1)*t; 或 t=n/(2*n+1.0)*t; 或 t=n/(2.0*n+1)*t; 或 t=n/(2.0*n+1.0)*t; 或 t=1.0*n/(2.0*n+1.0)*t;

3). return 2 * s ; 或 return (2*s); 或 return(2*s); 或 return (s*2); 或 return(s*2);

第11题 【程序改错】

--------------------------------------------------------

功能:实现两个字符串的连接。

例如:输入dfdfqe和12345时,则输出dfdfqe12345.

------------------------------------------------------*/

#include 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') i++;

/**********FOUND**********/ while(s2[j]= ='\\0') {