程序改错最终修订版(2)

2018-11-28 15:48

在平均值以下(含平 均值)的实数个数。

例如:n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得

平均值为40.828335,在平均值以下的实数个数应为3。

#include int fun(double x[],int n) {

int j,c=0;

/**********ERROR**********/ double j=0;

/**********ERROR**********/ for(j=0;j<=n;j++) xa+=x[j]; xa=xa/n;

printf(\ /**********ERROR**********/ for(j=0;j<=n;j++) if(x[j]<=xa) c++;

/**********ERROR**********/ return xa; } main() {

double x[]={23.5,45.67,12.1,6.4,58.9,98.4}; printf(\ }

答案float xa=0; for(j=0;j

int fun (char *s, char *t1, char *t2 , char *w) {

int i; char *p , *r, *a; strcpy( w, s ); while ( *w ) {

p = w; r = t1;

/**********ERROR**********/ while ( *r ) if ( *r == *p ) { r++; p++;

} else break;

/**********ERROR**********/ if ( *r == '\\0' ) {

a = w; r = t2;

/**********ERROR**********/ while ( *r) { *a = *r; a++; r++; }

w += strlen(t2) ; } else w++; } } main() {

char s[100], t1[100], t2[100], w[100];

printf(\enter string S:\scanf(\s); printf(\enter substring t1:\scanf(\t1);

printf(\enter substring t2:\scanf(\t2);

if ( strlen(t1)==strlen(t2) ) {

fun( s, t1, t2, w);

printf(\ } else

printf(\ }

【程序改错】 #include #include int fun(int m) {

/**********ERROR**********/ int i,k; for(i=m+1;;i++) {

for(k=2;k

/**********ERROR**********/ if(i%k==0) break;

6

/**********ERROR**********/ if(k==i) return(i); } } main() { int n;

printf(\ scanf(\ printf(\ }

【程序改错】题目:从键盘输入二维数组a[4][5]的值,求每行元素的最小值,

并存入一维数组b[4]中。

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

#include \ /**********ERROR**********/ void fun() int a[4][5],b[4]; {int i,j,min; for(i=0;i<4;i++) { min=a[i][0]; for(j=0;j<5;j++) if(min>a[i][j])

/**********ERROR**********/ min=a[i][j];

/**********ERROR**********/ min=b[j]; } } main()

{/**********ERROR**********/ int a[4][5],b[4],i,j; for(i=0;i<4;i++) for(j=0;j<5;j++) scanf(\ for(i=0;i<4;i++) {for(j=0;j<5;j++) printf(\ printf(\ fun(a,b); for(i=0;i<4;i++) printf(\ }

【程序改错】功能:使数组左下三角元素中的值乘以n 。 #include \

#include \ #include \ #define N 3

int fun ( int a[][N], int n ) {

/**********ERROR**********/ int i;j;

for(i=0; i < N; i++) /**********ERROR**********/ for(j=0; j

/**********ERROR**********/ a[i][j]=*n; } main ( ) {

int a[N][N], n, i, j;

printf(\ for ( i =0; i<3;i++) {

for ( j =0; j<3;j++) {

a[i][j] = rand(); printf( \ }

printf(\ } do

n = rand(); while ( n >=5||n<1 ); printf(\ fun ( a, n );

printf (\ for ( i =0; i<3;i++) {

for ( j =0; j<3;j++) printf( \ printf(\ }

答案int i,j; for(j=0;j<=i;j++) a[i][j]*n;

【程序改错】功能:将s所指字符串的反序和正序进行连接形成一个新串放在 t所指的数组中。

例如:当s所指的字符串的内容为\时,t所指数组中 的内容为\。 #include \ #include \ #include \

7

/**********ERROR**********/ void fun (char s, char t) {

int i, d;

/**********ERROR**********/ d = len(s);

/**********ERROR**********/ for (i = 1; i

printf(\ for(i=0;i<10;i++) printf(\

printf(\ }

答案scanf(\ for(i=1;i<10;i++) if(a[i]

【程序改错】题目:任意输入一个人5门课程的成绩,使 t[2*d] = '/0'; } main() {

char s[100], t[100];

printf(\ scanf(\ fun(s, t);

printf(\ } 答案fun dobule <=x return t

【程序改错】功能:有一数组内放10个整数,要求找出最小数和它的下标,然后

把它和数组中最前面的元素即第一个数对换位置. #include \ main( ) {

int i,a[10],min,k=0;

printf(\ for(i=0;i<10;i++)

/***********ERROR***********/ scanf(\ for(i=0;i<10;i++) printf(\ min=a[0];

/***********ERROR***********/ for(i=3;i<10;i++)

/***********ERROR***********/ if(a[i]>min) {

min=a[i]; k=i; }

/***********ERROR***********/

用冒泡法对5科成绩从大到小排序, 再输出排好序的成绩。

程序中共有4条错误语句,请改正错误。#include \

void fun(float a[5],int n ) { int i,j; float t;

for(i=0;i

/**********ERROR***************/ for(j=0;ja[j+1]) {

t=a[j]; a[j]=a[j+1]; a[j+1]=t; }

printf(\输出排好序的数组:\\n\ for(i=0;i

printf(\ for(i=0;i<5;i++) scanf(\ printf(\输出原数组元素:\\n\ for(i=0;i<5;i++)

printf(\ printf(\

/**********ERROR**********/ fun(a,5); }

答案1.for(j=0;j8

3.printf(\ 4.fun(score,5);

【程序改错】功能:用冒泡法对10个整数从小到大排序。 t=x[j]; x[j]=x[j+1]; x[j+1]=t; #include /**********ERROR**********/ void sort(int x,int n) {

int i,j,t; for(i=0;i

/**********ERROR**********/ for(j=0;jx[i+1]) { t=x[j]; x[j]=x[j+1]; x[j+1]=t; } } main() {

int i,n,a[100];

printf(\ scanf(\ for(i=0;i

printf(\ for(i=0;i<=n-1;i++) printf(\ printf(\ }

【参考答案】void sort(int *x,int n) for(j=0;n-(i+1)>j;j++) if(x[1+j]

【程序改错】功能:用起泡法对10个整数从小到大排序。 #include /**********ERROR**********/ void sort(int x,int n) {

int i,j,t; for(i=0;i

/**********ERROR**********/ for(j=0;jx[i+1]) {

} } main() {

int i,n,a[100];

printf(\ scanf(\ for(i=0;i

printf(\ for(i=0;i<=n-1;i++) printf(\ printf(\ }

【参考答案】void sort(int *x,int n) for(j=0;jx[j+1]) sort(a,n);

【程序改错】将长整型数中每一位上为偶数的数依次取出,构成一个新

数放在t中。高位仍在高位,低位仍在低位。 #include \ #include \ void fun (long s, long *t) { int d; long sl=1; *t = 0; while ( s > 0) {

d = s;

/**********ERROR**********/ if(d%2=0) {

/**********ERROR**********/ *t=d* sl+ t; sl *= 10; }

/**********ERROR**********/ s\\=10; } } main() {

9

long s, t;

printf(\ scanf(\ fun(s, &t);

printf(\ }

【参考答案】if(d%2!=1) *t=*t+sl*d;

【程序改错】题目:输入一个字符串,将其首尾互换。若输入abcdef输出fedcba。 #include #include main() {char s1[100]; int i,j,k; char ch;

printf(\ /***********ERROR***********/ scanf(\ k=strlen(s1);

/***********ERROR***********/ j=k;

/***********ERROR***********/ for(i=0;i>j;i++,j--)

{ch=s1[i]; s1[i]=s1[j]; s1[j]=ch;} puts(s1); } 参考答案

scanf(\ j=k-1;

for(i=0;i

【程序改错】题目:输入一个字符串,将其第一个字符和最后一个字符互换。

若输入abcdef则输出fbcdea。 #include #include main() {char s1[100]; int i; char ch;

printf(\ /***********ERROR***********/ scanf(\ i=0;

while(s1[i]) i++;

ch=s1[0];

/***********ERROR***********/ s1[0]=s1[i];

/***********ERROR***********/

s1[i]=ch; puts(s1); }

【参考答案】scanf(\ s1[0]=s1[i-1]; s1[i-1]=ch;

【程序改错】题目:下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。

例如,给字符串s输入:AAaBBb123CCccccd,则应输出结果:大写字母个数=6,小写字母个数 =7。 #include void fun (char s[]) {

/***********ERROR***********/ int i,upper=0,lower=0; while (s[i])

{if (s[i]>='A'&& s[i]<='Z') /***********ERROR***********/ upper+1;

if (s[i]>='a'&& s[i]<='z') /***********ERROR***********/ lower+1; i++;}

printf(\大写字母 个数= %d 小写字母个数 = %d\\n%upper, lower); } main()

{ char s[100];

printf(\请输入一个字符串: \ gets(s); puts(s); fun(s); }

参考答案int i=0,upper=0,lower=0; upper++; lower++;

【程序改错】题目:假定输入的字符串中只包含字母和*号。编写程序只删除字符串的后面*号。 #include #include void fun(char a[]); void main() { char a[80]; gets(a); fun(a); puts(a); }

void fun(char a[]) {

10


程序改错最终修订版(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国鞋底原料行业市场调查研究报告(目录)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: