下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传
以下程序中函数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"); }
以下程序中函数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[u]); f(a,10); for(u=0;u<10;u++)printf("%d",a[u]); ptintf("\n"); }
填空并回答相关问题。 (1)下面是将任意序列调整为最大堆(MAXHEAP)的算法,请将空白部分填上。将任意序列调整为最大堆通过不断调用adjust函数,即 for(i=n/2;i>0;i一一)adjust(1ist,i,n); 其中list为待调整序列所在数组(从下标1开始),n为序列元素个数,adjust函数为: void adjust(int 1ist[],int root,int n) /*将以root为下标的对应元素作为待调整堆的根,待调整元素放在list数组中,最大元素下标为n*/ {i
A.A是一个指向有5个字符型元素的指针变量
B.A是一个有5个元素的一维数组,每个元素指向字符型的指针变量
C.A是一个指向字符型的函数的指针变量
D.A是一个有5个元素的一维数组,每个元素指向整型变量的指针变量
A.数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同
B.如果定义一维数组时提供了初始化列表,则数组的长度可以省略
C.如果定义二维数组时提供了初始化列表,则数组的列下标可以省略
D.如果定义二维数组时提供了初始化列表,则数组的行下标可以省略
A.关键字是数据元素(或记录)中某个数据项的值,可以标识一个记录,称为主关键字
B.就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大
C.对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为log2n
D.折半查找的先决条件:表中结点按关键字有序,且顺序(一维数组)存储
以下程序调用随机函数得到N个20以内的整数放在s数组中。函数fun的功能是找出s数组中的最大数(不止一个)所在下标传回主函数进行输出,并把最大值作为函数值返回,请填空。 define N 30 man() { int s[N],d[N],i,k,m; for(i=0,i<N;i++){s[i]=rand()%20;printf("%3d",s[i]);} m=fun(【 】); printf("m=%d\n",m); printf(”The index ;\n"); for(i=0;i<k;i++)printf("%4d",d[i]); printf("\n\n"); } fun(int*w,int*d,int * k) { int i,j,m=0,v; for(i=0;i<N;i++) if(w[i]>w[m])【 】; v=w[m]; for(i=0,j=0;i<N;i++) if(w[i]==v)【 】; *k=【 】; return【 】; }
A.aa数组成元素的值分别是“abcd”和ABCD“
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
若有说明int(*p)[3]; 则以下正确的描述()。
A.p是一个指针数组
B.p是一个指针,它只能指向一个包含3个int类型元素的数组
C.p是一个指针,它可以指向一个一维数组中的任意元素
D.(*p)[3]与*p[3]等价