2、以下fun函数返回数组中最大值的下标 #include <stdio.h> int fun(int *s,int n ) { int i , k; for(i=0 , k=i; i<n; i++ ) if(s[i] > s[k] ) __________; return (k ) ; } 在横线处应填入的内容是()A.++kB.i = kC.k++D.k = i

2、以下fun函数返回数组中最大值的下标 #include <stdio.h> int fun(int *s,int n ) { int i , k; for(i=0 , k=i; i<n; i++ ) if(s[i] > s[k] ) __________; return (k ) ; } 在横线处应填入的内容是()

A.++k

B.i = k

C.k++

D.k = i


参考答案和解析
fun (int a[] [M]) { int ijmax=a[0][0]; for(i=0;i<2;i++) for(j=0;j<M;j++) if(max<a[i][j]) max=a[i][j]; /*求出二维数组的最大值*/ return max; } fun (int a[] [M]) { int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j<M;j++) if(max<a[i][j]) max=a[i][j]; /*求出二维数组的最大值*/ return max; } 解析:此类求最大值或最小值的C语言问题,我们可以采用逐个比较的方式。要求数组中的所有元素走动一遍,并从中找出最大、最小值,要注意一开始应使max存放数组中的第一个元素的值。可按逐行查找也可按逐列查找的方式,本题采用的是逐行查找的方式。即行下标在外层循环列下标在内层循环,因为在循环的嵌套中越在内层循环,循环变化就越快。

相关考题:

有以下程序#include stdio.hvoid fun(int *s,int nl,int n2){ int i,j,t;i=nl; j=n2;while(ij) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main( ){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k10;k++)printf("%d",a[k]); printf("\n");}程序运行的结果是 ( )A)0987654321B)4321098765C)5678901234D)0987651234

有以下程序#include stdio.hint fun(int (*s)[4],int n, int k){ int m,i;m=s[0][k];for(i=1;in;i++) if(s[i][k]m)m= s[i][k];return m;}main(){ int a[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};printf("%d\n",fun(a,4,0));}程序的运行结果是A)4B)34C)31D)32

下列程序是用来判断数组中特定元素的位置所在的。#include conio.h#include stdio.hint fun(int *s, int t, int *k){ int i;*k=0;for(i=0;it;i++)if(s[*k]s[i])*k=i;return s[*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 980 431 451 777则输出结果为A.7,431B.6C.980D.6,980

有以下程序inclUdevoidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i 有以下程序 #inclUde <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4A.0987654321B.4321098765C.5678901234D.0987651234

以下函数用来求出数组的最大元素在数组中的下标并存放在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);

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

以下程序段是函数返回a所指数组中最大的值所在的下标值,横线处的语句为( )。 fun(int*a, int n) { int i,j=0,k; k=j; for(i=j;i<n;i++) if[a[i]>a[k])______; return(k); }A.k=iB.k=jC.i=jD.i=n

#include conio.h#include stdio.hint fun(int *s, int t, int *k){ int i;*k=0;【15】if(s[*k]s[i])*k=i;return【16】;}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]);}

下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数: 876 675 896 101 301 401 980 431 451 777 #include<conio.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; return s[*k];} main() { int a[10]={876,675,896,101,301,401,980,431,45l,777},k; clrscr(); fun(a,10,k); printf("%d,%d\n",k,a[k]);} 则输出结果为A.7,431B.6C.980D.6,980

请补充函数fun(),该函数的功能求能整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。例如当x=20时,依次输出:20 10 4 2。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<conio.h>include<stdio.h>void fun(int k,int bb[ ]){int i;int j=0;for(【l】;i<=k;i++){if(【 】)bb[i++]=i;}printf("\n\n");for(i=【 】;i>=0;i--)printf(“%d”,bb[i]);}main( ){int k=1;int bb[100];clrscr( );printf(“\nPlease input X=”);scanf(“%d”,k);fun(k,bb);}

以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回,请填空。(设N己定义)int fun(int x[N]){int i,k=0for(i=0;iN;i++)if(x[i]x[k])k=_____;return x[k];}

下列程序是用来判断数组中特定元素的位置所在,则输出结果为includeinclude 下列程序是用来判断数组中特定元素的位置所在,则输出结果为 #include<conio.h> #include<iostream.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; retum s[ * k] ;} void main( ) { int a[10] ={876,675,896,101,301,401,980,431,451,777},k; fun(a,10,k) ; cout < < k < < ',' < < a[k] ;}A.7,431B.6C.980D.6,980

以下程序的输出结果是【 】。include int fun(int x) {static int t=0; return(t+=x); } 以下程序的输出结果是【 】。include <stdio.h>int fun(int x){ static int t=0;return(t+=x);}main()int s,i;for(i=1 ;i<=5;i++) s=fun(i);printf("%d\n",s);

下列程序是用来判断数组中特定元素的位置所在的。includeincludeint fun(int 下列程序是用来判断数组中特定元素的位置所在的。 #include<conio.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; funA.7,431B.6C.980D.6,980

主程序调用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.k=p-sD.*k=p-s

有以下程序#include stdio.hint fun(int (*s)[4],int n, int k){ int m, i; m=s[0][k]; for(i=l; in; i++) if(s[i][k]m) m=s[i][k]; return m;}main(){ int a[4][4]={{1,2,3,4},{11,12,13,14},{2l,22,23,24},{31,32,33,34}}; printf("%d\n", fun(a,4,0));}程序的运行结果是A.4 B.34C.31 D.32

有以下程序 include void fun(int a[],int n) { int i,t; for(i=0; 有以下程序 #include <stdio.h> void fun(int a[],int n) { int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;} } main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf("\n"); } 程序的运行结果是______。A.345678B.876543C.1098765D.321678

有以下程序 include int fun(int (*s)[4],int n,int k) {int m,i; 有以下程序 #include <stdio.h> int fun(int (*s)[4],int n,int k) {int m,i; m=s[0][kl; for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4},{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; printf("%d\n",fun(a,4,0)); } 程序的运行结果是______。A.4B.34C.31D.32

有下列程序: include void fun(int * s,int n1,int n2) { int i,j, 有下列程序: #include <stdio.h> void fun(int * s,int n1,int n2) { int i,j,t; i=n1;j=n2; while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf("\n"); } 程序的运行结果是( )。A.987654321B.4321098765C.5678901234D.987651234

以下程序调用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=pB.*k=p-sC.k=p-sD.*k=p

阅读以下函数说明和C语言函数,将应填入(n)处的字句填写在对应栏内。[函数2.1说明]函数fun1 (int m, int k, int xx [])的功能是:将大于整数m且紧靠m的k个素数存入数组xx中传回。例如:若输入17,5,则应输出:19,23,29,31,37。[函数2.1]fun1 (int m, int k, int xx [] ){inti, j, s=0;for ( i=m+1; k>0; i++ ){for (j=2; j<i; j++ )if ( i %j=0 )(1)if( i==j ){(2)k--; }}}[函数2.2说明]函数void fun 2 ()的功能是:打印出杨辉三角形(要求打印出10行)。[函数2.2]void fun2 ( ){int i, j;int a[10][10];printf ("\n" );for (i=0; i<10; i++{a [i] [0]=1;(3))for (i=2; i<l0; i++ )for (j=1; j<i; j++)(4)for (i=0; i<10; i++ ){for (j=0; j<=i; j++ )(5)printf ( "\n" );}}

下列给定程序中,函数fun()的功能是找出100~n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include<stdio.h>define N 100int fun(int *s,int n){int i,j,k,a,b,c;j=0;for(i=100;i<n;i++){/*************found***********/k=n;a=k%10;k/=10;b=k%10;c=k/10;if(a==b+c)/************found**************/s[j]=i;}return j;}main(){int a[N],n,num=0,i;do{printf("\nEnter n(<=1000):”);scanf("%d",n);}while(n>1000);num=fun(a,n);printf("\n\nThe result:\n”);for(i=0;i<num;i++)printf("%5d",a[i]);printf("\n\n");}

请补充函数fun(),该函数的功能是:寻找两个整数之间的的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。例如,输入6和21,则输出为:7 11 13 17 19 21。注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<conio. h>include<stdio. h>define N 1000int fun (int n, int m, int bb [N]){int i, j, k=0, flag;for (j=n; j<=m; j++){【 】;for (i=2; i<j; i++)if(【 】){flag=0;break;}if(【 】)bb [k++] =j}return k;}main (){int n=0,m=0, i, k;int bb[N];clrscr ();printf ("Input n\n");scanf ("%d", n);printf ("Input m\n");scanf ("%d", m);for (i=0; i<m-n; i++)bb[i]=0;k=fun (n, m, bb);for (i=0; i<k; i++)printf ("%4d",bb [i]);}

有以下程序#include stdio.hvoid fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(ij) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;kl0;k++)printf("%d",a[k]); printf("\n");}程序的运行结果是A.0987654321B.4321098765C.5678901234D.0987651234

下列程序是用来判断数组中特定元素的位置所在的。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,431B.6C.980D.6,980

有以下程序includevoidfun(int*s,intn1,intn2){inti,j,t; i=n1j=n2; while(i 有以下程序 #include <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1 j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]); printf("\n"); } 程序的运行结果是A.987654321B.4321098765C.5678901234D.987651234

试题14以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。#include stdio.hvoid fun(int s[], int *n, int k, int x){ int i;for(i=*n-1; i=k; i- - ) s[ ___ ]=s[i];s[k]=x;*n=*n+______;}main(){ int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;fun(a, n, k, x);for(i=0; in; i++) printf(“%4d”,a[i]); printf(“\n”);}

(11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k0)开始的后续元素全部向前移动一个位置。请填空。void fun(int a[N],int k){ int i;for(i=k;iN;i++) a[ 【11】 ]=a[i];}