3、 给定程序modi.c中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
选择法排序的思路是:通过一个整型变量指向数组中最小数所在的下标,第一次循环找出最小的数,与第一个数的位置交换,第二次循环找出次小的数,与第二个数的位置交换,以此类推,直至数组中的数由小到大排列。
本题中的第一个错误:C语言中的命令语句应以分号作为分隔符,所以语句"p=j"应改为"p=j;";
本题中的第二个错误:结合程序上下文,可知当a[i]中的数小于a[p]中的数时,应使得下标i赋给变量p,所以语句"p=j;"应改为"p=i;"。
本评析仅作参考。
知识点:知识点/C程序修改
答案解析
相关题目
88、以下程序的输出结果是_______。
#define N 10
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={4,5,6,7,8,9,10};
fun(a,2,6);
for(i=0;i<4;i++)
printf( ); }
87、以下程序的输出结果是_______。
#define N 10
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={1,2,3,4,5,6,7};
fun(a,2,6);
for(i=0;i<4;i++)
printf( ); }
86、以下程序的输出结果是_______。
#define N 20
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,3,8);
for(i=0;i<6;i++)
printf( ); }
85、以下程序的输出结果是_______。
#define N 20
void fun( )
{ int i;
for( )
a[i+1]=a[i]; }
main( )
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a ,2 ,9);
for(i=0;i<5;i++)
printf( ); }
84、以下程序的输出结果是_______。
main()
{ char h[]="america",*q;
q=h+2;
printf( );
printf( );
}
83、以下程序的输出结果是_______。
main()
{ char t[]="student",*p;
p=t+1;
printf( );
printf( );
}
82、以下程序的输出结果是_______。
main()
{ char s[]="159",*p;
p=s;
printf( );
printf( );
}
81、下面程序的输出结果是_______。
main( )
{ extern int m;
m+=2;
f( );
printf( );}
int m=7;
f( )
{ printf( ); m+=m;}
80、下面程序的输出结果是_______。
main( )
{ extern int m;
m-=2;
f( );
printf( );}
int m=7;
f( )
{ printf( ); m+=m;}
79、下面程序的输出结果是_______。
main( )
{ extern int a;
a-=1;
f( );
printf( );}
int a=4;
void f( )
{ printf( ); a+=a;}
