以下程序调用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”);
}
#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”);
}
举一反三
- 以下程序调用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; }
- 以下程序运行的输出结果是______。 #include<stdio.h> #define M 100 void fun(int m,int *a,int *n) int i,j=0; for(i=1;j<=m;i++) if(i%7==0 ‖ i%11==0) a[j++]=i; *n=j; main( ) int aa[M],n,k; fun(10,aa,&n); for(k=0;k<n;k++) if((k+1)%20==0)printf("\n"); else printf("%4d",aa[k]); printf("\n");
- /*【程序填空】题目:编程序输出从键盘输入的n个数中的素数及其个数*/#include "stdio.h"int prime(int x){ int i,k=1; if(x<2) k=0; for(i=2;i<=x/2;i++)/***********SPACE***********/ if(【?】) k=0;/***********SPACE***********/ 【?】; }main() {/***********SPACE***********/ int i,n,x,【?】; scanf("%d",&n); for(i=1;i<=n;i++) {scanf("%d",&x);/***********SPACE***********/ if(【?】) {printf("%4d",x); k++; } } printf("\n%4d\n",k); }
- 下面程序的功能是计算 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; }
- 以下fun函数返回数组中最大值的下标,则横线处应填入()。 int fun(int *s, int n) { int i, k; for(i=0, k=i; i s[k]) _________; return (k); }