以下程序中函数fun的功能是:当flag为1时,进行由小到大排序;当flag为0时,进 行由大到小排序。 #include void fun(int b[],int n,int flag) { int i,j,t; for(i=0;i<n一1;i++) f

admin2019-07-25  0

问题 以下程序中函数fun的功能是:当flag为1时,进行由小到大排序;当flag为0时,进
行由大到小排序。
#include
void fun(int b[],int n,int flag)
{
int i,j,t;
for(i=0;i<n一1;i++)
for(j=i+1;j<n;j++)
if(flag?b>b[j]:b<b[j])
{t=b;b=b[j];b[j]=t}
}
main()
{  ’
int a[10]={7,3,5,1,8,6,4},i,*p;
p=a;
fun(p+1,5,0);   
fun(a,5,1);
for(i=0;i<10;i++)
printf(’’%d,’’,a);
}
程序运行后的输出结果是(  )。

选项 A、3,5,6,7,8,1,4,
B、8,7,6,5,3,1,4,
C、8,7,6,5,4,3,1,
D、1,3,4,5,6,7,8,

答案A

解析 子函数的功能题目已经明确,所以不用去关注;注意第1次调用并排序的是从数组的第2个元素开始的5个元素,所以排序后的结果是:7,8,6,5,3,1,4,第2次调用的是整个数组,并对前5个元素进行排序,最终结果是3,5,6,7,8,1,4。
转载请注明原文地址:https://kaotiyun.com/show/ydID777K
0

相关试题推荐
最新回复(0)