以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)小找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。 #include <stdio.h> void f(int x[],int n) {

admin2009-01-15  19

问题 以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)小找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
   #include  <stdio.h>
   void f(int  x[],int  n)
   {  int  p0,p1,i,j,t,m;
     i=j=x[0];    p0=p1=0;
     for(m=O;m<n;m++)
     {  if(x[m]>i)    {i=x[m];  p0=m;}
        else if(x[m]<j)  {j=x[m];p1=m;)
     }
   t=x[p0];x[p0]=x[n-1];x[n-1]=t;
   t=x[pl];x[p1]=【  】;【  】=t
    }
   main()
   {  int  a[10],u;
      for(u=0;u<10;u++)  scamp("%d",&a);
      f(a,10);
      for(u=0;u<10;u++)printf("%d",a);
      ptintf("\n");
   }

选项

答案x[O] x[O]

解析 根据题意,f()函数要“将其中最小的数与第一个数对换,把最大的数与最后一个数对换”,而填空处的上一行语句正是使用交换算法,将下标为p0的元素与数组x的最后一个元素(n个元素的数组,其最后一个元素的下标为n-1)交换。所以不难得知,填空所在行的语句是要将下标为p1的元素与数组x的第1个元素交换。故两个空都应该填x[0]。
转载请注明原文地址:https://kaotiyun.com/show/wdHp777K
0

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