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

admin2010-12-10  28

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

选项

答案x[0] , x[0]

解析 函数f( )通过for循环逐个比较数组x中的元素,循环结束后,p0和p1分别表示最大值和最小值在数组中的下标位置,然后按照题意将最大值x[p0]和数组的最后一个元素x[n-1]交换位置,再将最小值x[p1]和第一个元素(x[0]) 进行交换,所以空白处应该填入x[0]。
转载请注明原文地址:https://kaotiyun.com/show/NbPp777K
0

最新回复(0)