niusouti.com

请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。例如,输入如下整数:876 675 896 101 301 401 980 431 451 777则输出结果为6,980。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>int fun(int *s,int t,int *k)

题目

请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

例如,输入如下整数:

876 675 896 101 301 401 980 431 451 777

则输出结果为6,980。

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

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

试题程序:

include <conio.h>

include <stdio.h>

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

{

}

main()

{

int a[10]={ 876,675,896,101,301,401,

980,431,451,777},k;

clrscr();

fun(a, 10, &k);

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

}


相似考题
更多“请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所 ”相关问题
  • 第1题:

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

  • 第2题:

    请编写一个函数intproc(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如,输入如下整数: 876675896101999401980431451777 则输出结果为4,999。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序:


    正确答案:

    【解析】要得到数组中的最大元素的下标,需要比较数组中的每一个元素。将最大的元素返回给主函数,最大元素的下标通过形参返回给主函数。

  • 第3题:

    下列程序是用来判断数组中特定元素的位置所在的。includeincludeint fun(int

    下列程序是用来判断数组中特定元素的位置所在的。 #include<conic.h> #include<stdio.h> int fun(int *s,int t,int *k) { int i; *k=0; for(i=0;i<t;i++) if(s[*k]<s[i])*k=i; returns[*k];} main() { int a[10]={876,675,896,101,301,401,980,431,451,777},k; fun(a,10,&k); printf("%d,%d\n",k,a[k]);} 如果输入如下整数:876 675 896 101 301 401 980431 451 777 则输出结果为

    A.7,431

    B.6

    C.980

    D.6,980


    正确答案:D
    解析:本题中直接使用指针变量k,但在使用时要注意对k的指针运算。此外,一开始应知道*k的值为数组中的某一下标值,即。k=0,本函数的功能是找出数组中的最大元素的位置及最大元素的值。

  • 第4题:

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

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