计算机二级

主程序调用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=pB.*k=pC

题目

主程序调用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

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

第1题:

27、使用delete[]删除对象数组时,描述正确的是()

A.数组中各元素都调用析构函数

B.数组中各元素都调用构造函数

C.不调用析构函数

D.只有首元素调用析构函数


数组中各元素都调用析构函数

第2题:

编写一个函数,可以统计一维数组或二维数组元素之和。在主程序中,定义一个一维整型数组,调用函数计算元素之和;再定义一个二维整型数组,调用函数计算元素之和。


find

第3题:

主程序调用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开始的,也可以将数组首地址赋给一个指针变量,通过指针和下标的方式来引用数组元素。 通过数组的首地址引用数组元素。

第4题:

以下程序调用fun函数求数组中最大值所在元素的下标。

在横线处应填入的内容是

A.*k=i

B.k=i

C.*k=i-s

D.k=i-s


正确答案:A
fun函数的功能是求数组中最大值所在元素的下标。通过for循环语句,每次将最大的数给*k,即*k=i。因此A选项正确。

第5题:

请编写一个函数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,由于它们都是指针变量,所以要引用它所指向的变量时要对它进行指针运算,也即*号运算。

第6题:

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


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

第7题:

以下程序调用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


正确答案:D
解析:k是—个指针,它的值是—个地址,要通过它为主函数的变量改变数据,必须使用*p,边样就可以把—个下标数赋给p指针指向的那个内存单元,所以横线处应填入*k=p。

第8题:

主程序调用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

第9题:

请编写函数fun(),其功能是将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除。字符串中剩余的字符所形成的一个新的字符串放在t所指的数组中。

例如:s所指字符串中的内容为ABCDEFG12345,其中字符A,的ASCII码值虽为奇数,但元素所在的下标为偶数,因此必需删除;字符1的ASCII码值为奇数,所在数组中的下标也为奇数,不删除,最后t所指的数组中的内容应是135。

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

文件test 27_2.cpp的内容如下;

include <conio.h>

include <stdio.h>

include <iostream.h>

include <string.h>

void fun(char *s,char t[ ])

{

}

void main ( )

{

char s[100],t[100];

cout<<"Please enter string S: "<<end1;

gets(s);

fun(s, t);

puts(t);

}


正确答案:void fun(char *schar t[ ]) { int ij=0n; n=strlen(s); for(i=0;in;i++) if(i%2!=0&&s[i]%2!=0) { t[j]=s[i];j++;} t[j]='\0'; }
void fun(char *s,char t[ ]) { int i,j=0,n; n=strlen(s); for(i=0;in;i++) if(i%2!=0&&s[i]%2!=0) { t[j]=s[i];j++;} t[j]='\0'; } 解析:在解答本题时,首先要清楚一点:那就是在字符参与数值运算时,用的是其ASCII码值来进行计算。另外的一个考查点是判断某数是奇数的方法,即判断该数与2的余数是否为0。