问题 填空题

以下程序中函数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=0;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[p1];x[p1]= [11] ; [12] =t; main( ) { int a[10],u; for(u=0;u<10;u++) scanf("%d",&a[u]); f(a,10); for(u=0;u<10;u++) printf("%d",a[u]); printf("\n"); }

答案

参考答案:x[0] x[0]

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

单项选择题
单项选择题