C语言 程序修改题.doc
文本预览下载声明
二、程序修改题
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
显示全部