22、下列程序的功能是输出数组s中最大元素的下标。 #include <stdio.h> int main() { int k,i; int s[]={3,-8,7,2,-1,4}; for(i=0,k=0;i<6;i++) if(s[i]>s[k]) ; printf("k=%d\n", k); return 0; }

22、下列程序的功能是输出数组s中最大元素的下标。 #include <stdio.h> int main() { int k,i; int s[]={3,-8,7,2,-1,4}; for(i=0,k=0;i<6;i++) if(s[i]>s[k]) ; printf("k=%d\n", k); return 0; }


参考答案和解析
分析:此题涉及的知识点是数组在循环中的应用。从程序中可以看出变量 k 是用来存放最大元素的下标的,变量 p 为控制顺序考察的循环控制变量。当发现当前元素 s[p]比临时最大元素 s[k]更大时,用 p 更新 k,所以横线位置上应填入的代码是 k=p 。

相关考题:

有以下程序#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

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

#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()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。请改正函数fun()中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio.h>define SIZE 20fun (double *s, double *w){ int k, i; double sum;for(k=2, i=0; i<SIZE; i++){s [i]=k; k+=2;}sum=0.0;for(k=0, i=0; i<SIZE;i++){sum+=s[i];/*************found**************/if(i+1%5==0){w[k]=sum/5; Sum=0; k++;}}return k;}main(){ double a[SIZE],b[SIZE/5];int i, k;k=fun(a/b);printf ("The original data:\n");for(i=0;i<SIZE;i++){if(i%5==0)printf("\n");printf("%4.0f"/a[i]);}printf{"\n\nThe result:\n");for(i=0; i<k; i++) printf("%6.2f",b[i]);printf("\n\n");}

有以下程序 include int a=1; int f(int c) { stati 有以下程序 #include <stdio.h> int a=1; int f(int c) { static int a=2; c=c+1; return (a++) + c; } main() { int i, k=0; for(i=0;i<2;i++) { int a=3; k += f(a); k +=a; printf("%d\n",k); }A.14B.15C.16D.17

下列程序是用来判断数组中特定元素的位置所在,则输出结果为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 f (int a) {int b=0;static c=7;a=c++; b++ 下列程序执行输出的结果是______。include <stdio.h>f (int a){ int b=0;static c=7;a=c++; b++;return (a);}main(){ int a=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n", k);}

下列程序执行后输出的结果是()includef(int A){ int b=0;static c=3;a=c++,b++;return 下列程序执行后输出的结果是( ) #include<stdio.h> f(int A) { int b=0; static c=3; a=c++,b++; return(A) ; } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }A.3B.0C.5D.4

下列程序是用来判断数组中特定元素的位置所在的。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

以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。define M 2define N 4void SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;for(i=0;i〈N;i++){ k=0;for(j=1;j<M;j++)if(a[k][i]>a[j][i])k=j;s+=【 】;}【 】 =s;}main( ){ int x[M][N]={3,2,5,1,4,1,8,3},s;SumColumMin(【 】);printf("%d\n",s);}

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

下列程序执行输出的结果是()。includef(int A) {int b=0;static c=3;a=C++;b++;return( 下列程序执行输出的结果是( )。 #include<stdio.h> f(int A) { int b=0; static c=3; a=C++;b++; return(a); } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }A.3B.4C.5D.6

下列程序执行输出的结果是()。 include f(int a) {int b=0; static c=3; a=C++;b++; re 下列程序执行输出的结果是( )。#include<stdio.h>f(int a){ int b=0;static c=3;a=C++;b++;return(a);}main(){ int a=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}A.3B.4C.5D.6

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

下述程序的输出结果是()。includevoid main(){int a[20],*p[4];int i,k=0;for(i=0;i 下述程序的输出结果是( )。 #include<stdio.h> void main() {int a[20],*p[4]; int i,k=0; for(i=0;i<20;i++) a[i]=i; for(i=0;i<4;i++) p[i]=a[i*i+1]; for(i=0;i<4;i++) {k=k+*p[i];} printf("%d",k); }A.10B.18C.6D.数组元素引用不合法,输出结果不定

下列程序执行输出的结果是()。include f(int a){ int b=0;stoic c=3;a=c++;b++;return( 下列程序执行输出的结果是( )。 #include <stdio.h> f(int a) { int b=0; stoic c=3; a=c++;b++; return(a); } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }A.3B.4C.5D.6

下列程序的输出结果是______。include main(){union {int k;char i[2]; }*S,a; s= 下列程序的输出结果是______。#include <stdio.h>main(){ union { int k; char i[2]; } *S,a; s=a; s->i[0]=0x39; s->i[1]=0x38; printf("%x\n",s->k);}A.3839B.3938C.380039D.390038

主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是#includestdio.hfindmax(int*s,int t,int *k){ int p;for(p=0, *k=p; pt; p++)if(s[p]s[*k])( ); }main(){ int a[10],i,k;for(i=0; i10;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.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”);}