文档详情

C语言 程序修改题.doc

发布:2017-12-15约3.35万字共22页下载文档
文本预览下载声明
二、程序修改题 1、给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include stdio.h #include stdlib.h #define N 20 int fun( int *b ) { /**********found**********/ int t[N] ,i, num for(i=0; iN; i++) if(b[i]=10) /**********found**********/ t[++num]=b[i]; /**********found**********/ for(i=0; inun; i++) b[i]=t[i]; return( num ); } main() { int a[N],i,num; printf(a数组中的数据 :\n); for(i=0;iN ;i++) {a[i]=rand()%21; printf(%4d,a[i]);} printf(\n); num=fun(a); for(i=0;inum ;i++) printf(%4d,a[i]); printf(\n); } 2、给定程序MODI1.C中函数 fun 的功能是: 将十进制正整数m转换成k(2≤k≤9)进制数, 并按高位到低位顺序输出。 例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请改正 fun 函数中的错误,使它能得出正确的结果。 注意:不要改动 main 函数。不得增行或删行,也不得更改程序的结构! #include conio.h #include stdio.h void fun( int m, int k ) { int aa[20], i; for( i = 0; m; i++ ) { /**********found**********/ aa[i] = m/k; m /= k; } for( ; i; i-- ) /**********found**********/ printf( %d, aa[ i ] ); } main() { int b, n; printf( \nPlease enter a number and a base:\n ); scanf( %d %d, n, b ); fun( n, b ); printf(\n); } 3、给定程序MODI1.C中函数 fun 的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include stdio.h #include string.h #define MAXLINE 20 fun ( char *pstr[6]) { int i, j ; char *p ; for (i = 0 ; i 5 ; i++ ) { /**************found**************/ for (j = i + 1, j 6, j++) { if(strcmp(*(pstr + i), *(pstr + j)) 0) { p = *(pstr + i) ; /**************found**************/ *(pstr + i) = pstr + j ; *(pstr + j) = p ; } } } } main( ) { int i ; char *pstr[6], str[6][MAXLINE] ; for(i = 0; i 6 ; i++) pstr[i] = str[i] ; printf( \nEnter 6 string(1 string at each line): \n ) ; for(i = 0 ; i 6 ; i++) scanf(%s, pstr[i]) ; fun(pstr) ; printf(The strings afte
显示全部
相似文档