以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。include<iostream.h>void fun(int * s,int t,int * k){ int i;* k=【 】;【 】if(s[ * k] < s[i]) * k=i;}void main( ){ int a[l0]={ 876,675,896,101,301,401,980,431,451,777 },k;fun(a,10,&k);

题目

以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。

include<iostream.h>

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

{ int i;

* k=【 】;

【 】

if(s[ * k] < s[i]) * k=i;}

void main( )

{ int a[l0]={ 876,675,896,101,301,401,980,431,451,777 },k;

fun(a,10,&k);


相似考题
更多“以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。 include<ios ”相关问题
  • 第1题:

    请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

    例如,输入如下整数:876 675 896 10l 30l 401 980 431451 777则输出结果为:6,980

    注意:部分源程序在文件PROGl.C文件中。

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


    正确答案:
    解析:(1)该程序功能是求最大元素在数组中的下标。它的解题思路是,用最大值变量max标记第一个待找数据,逐个把所有待找数据和max进行比较,并用pos标记其当前最大值所在位置,从而找出最大值。(2)从已给部分源程序的main主函数开始入手,核心函数“fun(a,10,&k);”中的参数a存放着给出的整数,fun函数实现查找最大元素的下标。

  • 第2题:

    请编写一个函数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 *sint tint *k) { int i; *k=0; /*k所指的数是数组的下标值*/ for(i=0;it;i++) if(s[*k]s[i]) *k=i; /*找到数组的最大元素把该元素的下标赋给k所指的数*/ return s[*k]; /*返回数组的最大元素*/ }
    int fun(int *s,int t,int *k) { int i; *k=0; /*k所指的数是数组的下标值*/ for(i=0;it;i++) if(s[*k]s[i]) *k=i; /*找到数组的最大元素,把该元素的下标赋给k所指的数*/ return s[*k]; /*返回数组的最大元素*/ } 解析:本题中直接使用指针变量k,但在使用时要注意对k的指针运算,此外,一开始应让*k的值为数组中的某一下标值,即*k=0。

  • 第3题:

    (11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。

    void fun(int a[N],int k)

    { int i;

    for(i=k;i<N;i++) a[ 【11】 ]=a[i];

    }


    正确答案:
    (11)i-1

  • 第4题:

    下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[o]中,接着把a_所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

    例如,若a所指数组中的数据最初排列为:9、1…4 2 3、6、5、8、7;则按规则移动后,数据排列为:1、9.2、8:3、7、4、6、5。形参13.中存放a所指数组中数据的个数。

    规定fum函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填人正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:
    (1)a[i](2)a[j](3)a[j]【考点分析】本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,财不执行下面的语句。【解题思路】填空1:for循环语句循环体中将数组元素a[i]赋值给变量max和变量rain。填空2:通过一次for循环,找到数组中的最大值,if语句的条件表达式是mu<a[j]。填空3:同理,此处if语句的条件表达式是min>a[j]。【解题宝典】求最大值或者最小值的题目,一般都是假设一个元素最大或最小,然后通过if条件语句将该元素和其他元素进行比较操作来完成。

  • 第5题:

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


    正确答案:

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