有下列程序:   void sort(int a[],int n)   { int i,j,t;    for(i=0;i<n—1;i++)    for(j=i+1;j<n;

admin2013-02-23  21

问题 有下列程序:        
  void sort(int a[],int n)        
  {   int i,j,t;        
      for(i=0;i<n—1;i++)        
      for(j=i+1;j<n;j++)        
      if(a<a[j]){t=a;a=a[j];a[j]=t;}        
  }        
  main()        
  {   int aa[10]={1,2,3,4,5,6,7,8,9,10),i;        
      sort(aa+2,5);        
      for(i=0;i<10;i++)printf(""%d,"",aa);        
      printf(""\n"");        
  }        
  程序运行后的输出结果是(    )。

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

答案C

解析 本题考查排序的使用由sort()函数的两层for循环语句可知,其功能是把数组a[]中的元素按照从大到小的顺序进行排列。在mam()函数中首先定义了一维整型数组aa[10],然后调用sort(aa+2.5)实现从数组aa中下标为2的元素“3”开始,其后连续的5个素从大到小进行排列,其余元素不变。
转载请注明原文地址:https://kaotiyun.com/show/LdPp777K
0

最新回复(0)