以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空:#include<stdio.h>find

题目
以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空:includefind

以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空: #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++) if(s[p]>s[*k])________; } main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d,%d\n",k,a[k]); }

A.k=p

B.*k=p-s

C.k=p-s

D.*k=p

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

编写程序求含有N个元素一维数组的最大值、最小值及它们的下标。要求:数组元素的输入、求最大值最小值及它们的下标通过函数实现,结果在主函数中输出。


D

第2题:

主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是

#include<stdio.h>

findmax(int*s,int t,int *k)

{ int p;

for(p=0, *k=p; p<t; p++)if(s[p]>s[*k])( ); }

main()

{ int a[10],i,k;

for(i=0; i<10;i++)scanf(" %d",&a[i]);

findmax(a,10,&k);

printf(" %d%d\n",k,a[k];) }

A.k=p

B.*k=p

C.k=p-s

D.*k=p-s


正确答案:B
解析:考查通过指针来引用一维数组的方法。数组元素可以通过数组首地址和下标的方式来引用,数组元素的下标是从0开始的,也可以将数组首地址赋给一个指针变量,通过指针和下标的方式来引用数组元素。 通过数组的首地址引用数组元素。

第3题:

请编写一个函数fun(),它的功能是:找出一维数组元素中最大的值和它所在的下标,最大值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。

主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include<stdlib.h>

include<stdio.h>

void fun(int a[],int n, int *max,int *d)

{

}

main()

{

int i, x[20], max, index, n=10;

randomize();

for(i=0; i<=n; i++)

{

x[i]=rand()%50;

printf("%4d",x[i]);

/*输出一个随机数组*/

}

printf("\n");

fun(x,n,&max,&index);

printf("Max=%5d,Index=%4d\n",max,index);

}


正确答案:void fun(int a[]int nint *maxint *d) { int i; *max=a[0]; *d=0; for(i=0;in;i++) /*将最大的元素放入指针max所指的单元最大元素的下标放入指针d所指的单元*/ if(*maxa[i]) {*max=a[i];*d=i;} }
void fun(int a[],int n,int *max,int *d) { int i; *max=a[0]; *d=0; for(i=0;in;i++) /*将最大的元素放入指针max所指的单元,最大元素的下标放入指针d所指的单元*/ if(*maxa[i]) {*max=a[i];*d=i;} } 解析:该程序直接使用形参max和d,由于它们都是指针变量,所以要引用它所指向的变量时要对它进行指针运算,也即*号运算。

第4题:

补充程序Ccon073.C,函数findmax返回数组中的最大元素。


Printf("Themaxis%d\n",/**/findmax(a,10)/**/);
Inti,/**/max=array[0]/**/

第5题:

主程序调用findmax函数求出数组中最大元素在数组中的下标,( )中需填写的内容是。 #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])( );} main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d%d\n" ,k,a[k]);}

A.k=p

B.*k=p

C.k=p-s

D.*k=p-s


正确答案:B
解析:数组元素可以通过数组首地址和下标的方式来引用,数组元素的下标是从0开始的,也可以将数组首地址赋给一个指针变量,通过指针和下标的方式来引用数组元素。注意:通过数组的首地址引用数组元素。

第6题:

以下程序段给数组所有的元素输入数据,请选择正确答案填入。 include main() { int a[10

以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include<stdio.h> main() { int a[10]=0; while(i<10)scan("%d"______); : : }

A.a+(i++)

B.&a[i+1]

C.a+i

D.&a[++i]


正确答案:A
解析: a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入—个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

第7题:

以下程序调用findmax()函数返回数组中的最大值。请填空完成此函数。

include〈iostream〉

using namespace std;

int findmax(int*a,int n)

{

int +p、*s;

for(p=a,s=a;p-a〈n;p++)

if(【 】)

*s=*p;

return(*S);

}

int main()

{

int x[5]={12,21,14,16};

cout〈〈findmax(X,5)〈〈end1;

return 0;

}


正确答案:*p>*s
*p>*s 解析:函数findmax()的功能是找出数组中的最大值。在函数findmax()中,先定义两个整型指针p和s(指针s用于保存数组中的最大值,指针p用于指向数组的各个元素),并将指针p和s指向传入数组的首元素,然后通过for循环找出最大值。所以if语句的条件表达式应该为“*p*s”,即当p指向的元素值大于s所指向的元素值时,就把*p值保存在*s中。

第8题:

以下程序段给数组A的所有元素输入数据,请填空。 include void main () {int a[10],

以下程序段给数组A的所有元素输入数据,请填空。

include<iostream. h>

void main () {

int a[10], i;

i=0;

while (i<10) cin>> 【 】

}


正确答案:a[i++]
a[i++]

第9题:

主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是 #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])( );} main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("

A.k=p

B.*k=p

C.k=p-s

D.*k=p-s


正确答案:B