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”); }
内容
- 0
程序填空: 以下程序中,函数fun的功能是:将数组s中的所有素数复制到数组t中。 例如:当数组s中值为:21,17,9,59,77,67,49,99,35,83时,则数组t中的值应为:17,59,67,83。 #include void fun(int s[],int t[]) { int i,j,k,y=0; for(i=0;i<=9;i++) { k=s[i]/2; /************found************/ for(j= ____1____ ; j<=k; j++) if(s[i]%j==0) break; /************found************/ if(j ____2____ k) { /************found************/ t[ ____3____ ]=s[i]; } } t[y]=0; } main() { int i,s[10]={21,17,9,59,77,67,49,99,35,83}, t[10]; fun(s, t); for(i=0;t[i]!=0;i++)printf("%d ", t[i]); printf(" "); }
- 1
下列程序是用来判断数组中特定元素的位置所在的。 #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 则输出结果为[/i] A: 7,431 B: 6 C: 980 D: 6,980
- 2
分析以下程序段的时间复杂度。void fun( int n){ int s = 0. i, j, k; for(i=O;i<=n; l忡〉 for(j=O;j<=i;j++) for (k = 0 ;k<j ,k+叶 s++;}
- 3
下列程序是用来判断数组中特定元素的位置所在的。 #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 则输出结果为[/i] A: A) 7,431 B: B) 6 C: C) 980 D: D) 6,980
- 4
分析以下代码的时间复杂度: int func(int n) { int i=1, k=0; while(i<=n) { k++; i=i*2; } return k; }