以下fun函数返回数组中最大值的下标,则横线处应填入()。
int fun(int *s, int n)
{
int i, k;
for(i=0, k=i; i s[k]) _________;
return (k);
}
int fun(int *s, int n)
{
int i, k;
for(i=0, k=i; i s[k]) _________;
return (k);
}
举一反三
- 以下程序调用fun函数求数组中最大值所在元素的下标。 #include void fun(int *s,int n, int *k) { int i; for(i=0,*k=i;is[*k]) _ } int main() { int a[5]={1,8,3,6,9},k; fun(a,5,&k); printf(“%d,%d ”,k,a[k]); return 0; }
- 下面程序的功能是计算 S= 0!+1!+2!+…+k! ( k>=0 )。 #include "stdio.h" long fun(int n) { int i; long s=1; for(i=1; ① ;i++) s*=i; return( ② ); } int main() { int k,n; long s; scanf("%d",&n); s= ③ ; for(k=0;k<=n;k++) s+= ④ ; printf("%ld\n",s); return 0; }
- 中国大学MOOC: 下列程序的功能是输出数组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;}
- 分析以下算法的时间复杂度。void fun( int n)i{ int s = 0,i,i,k; for (i - 0; i<= n; i++ ) for (j= 0;j<=i;j++) for (k = 0;k<j;k++) s tt ;}
- 以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的值的填空。 #include Voidfun(ints[],int*n,intk,intx) {intI; For(i=*n-1;i>=k;i--)s[]=s[i]; S[k]=x; *n=*n+; } Main() {inta[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;i<6;i++) Printf(“%4d”,a[i]); Printf(“\n”); }