举一反三
- 以下函数用来在数组中插入元素x,w数组中的数已按由小到大的顺序存放,n所指存储单...--) ;w[p]=x;++*n; }
- 以下程序调用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”); }
- 以下函数按每行8个输出数组中的数据 Void fun(int *w,int n) { int i; for(i=0;i if(i%8==0)print(“\n”);
- 以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。 #define N 3 #define M 4 void LineMax(int x[N][M]) { int i,j,p; for(i=0; i p=j x[i][p] LineMax(x) x[i][p]=x[i][j] x[i][p] LineMax(int x[N][M])
- 把含n个元素的x数组中存放的数据对应地复制到y数组,写作:________ A: y=x; B: y[n]=x[n]; C: y[i]=x[i]; D: for(i=0;i E: for(i=1;i<=n;i++) y[i]=x[i];
内容
- 0
假设x数组的n个数据已经按降序排列,现在插入一个数y到数组中,使数组x仍然是降序排列的。 #include"stdio.h" main() {intx[50],y,n,i,j; printf("请输入数组元素的个数:"); scanf("%d",&n); printf("输入%d个从大到小排好顺序的整数\n",n); for(i=0;i=0;i--) if(y>x[i])【2】; elsebreak; 【3】; for(i=0;i[/i]
- 1
设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是( ) A: for(i=0;i<;n/2;i++){ t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;} B: for(i=0;i<;n;i++){ t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;} C: for(i=0;i<;n/2;i++){ t=x[i];x[i]=x[n-i+1];x[n-i+1]=t;} D: for(i=0;i<;n/2;i+=2){ t=x[i];x[i]=x[n-i-1];x[n-i-1]=t;}
- 2
以下程序功能是调用 findmax 函数返回数组中的最大值。 #include findmax(int *a,int n) { int *p,*s; for(p=a,s=a;n>0;n--,p++) if( ) s=p; return (*s); } int main() { int x[5]={12,21,13,6,18}; printf("%d\n",findmax(x,5)); return 0; }
- 3
有以下函数: int fun(char *x,char *y) { int n=0; while((*x==*y) && *x!='
- 4
下列程序的输出结果是 。#includeint f(int x, int y){static int w=0, j=2;j+=w+1;w=j+x+y;return(w);}void main(){int i=4, w=1, k;k=f(i, w);printf("%d, ", k);k=f(i, w);printf("%d\n", k);}