首页/ 题库 / [单选题]有以下程序: void f(int a[的答案

有以下程序: void f(int a[],int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa[i]); printf(" "); } 执行后输出结果是( )。

单选题
2022-01-04 10:30
A、5,4,3,2,1,
B、5,2,3,4,1,
C、1,2,3,4,5,
D、1,5,4,3,2,
查看答案

正确答案
A

试题解析
解析:在C语言中所谓函数的递归是指在调用一个函数的过程中,又出现了直接或间接调用该函数本身,直接调用该函数本身的称为函数递归,而间接调用该函数称为函数的间接递归调用。由程序可以看出函数f(a,i,j)为一递归函数,其功能是当ij时,将数组中的元素a[i]和a[j]交换,然后再调用函数f(a,i+1,j-1),将数组中a[i+1]和a[j--]交换,这样一直递归到数组下标i=j,可见该递归函数的作用是使数组中首尾元素依次互换。主函数中定义了一个长度为5的数组aa并初始化,然后调用f(a,0,4),将数组a中的元素依次互换,故最后for循环输出的数组aa中各元素的值为5、4、3、2、1,所以,4个选项中选项A符合题意。

标签:
感兴趣题目
下列程序的输出结果是( )。 #include <stdio.h> int f(int a,int b); main() { int i=2,p,j,k; j=i; k=++i; p=f(j,k); printf("%d",p); } int f(int a,int b) { int c; if(a>b)c=1; else if(a= =b) c=0; else c=-1; return(c); }
下列函数的运行结果是 #include<iostream.h> int f(int a,int b) { int c; if(a>b)c=1; else if(a==b)C=0; else c=-1; return(c);} void main() { int i=2,j=3; int p=f(i,j); cout<<p;}
下列函数的运行结果是 #include<iostream.h> int f(int a,int B) {int c; if(a>b) c=1 else if(a=b) c=0; else c=-1; return(c) ;} void main( ) { int i=2,j=3; int p=f(i,j); cout
有以下程序void fun(int *a,int i,int j){ int t;if (i
有以下程序:#include int sum(int *array,int len){ if(len == 0)  return array[0]; else  return array[0]+sum(array+1,len-1);}main(){ int i=1,j=3; printf(%d,,i++); {  int i = 0;  i+=j*2;  printf(%d,%d,,i,j); } printf(%d,%d,i,j);}程序运行后的输出结果是(  )。
有下列程序: void sort(int a[],int n) { int i,j,t; for(i=0;i<n-l;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;} } main { int aa[10]:{1,2,3,4,5,6,7,8,9,10),i; sort(aa+2,5); for(i=0;i<10;i++)printf("%d,",aa[i]); printf("\n"); } 程序运行后的输出结果是( )。
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。#include void f(int b[],int n,int flag){ int i,j,t; for(i=0;ib[j]:b[i]
以下程序输出正确的是______。 amovep(int *p,int(*a)[3],int n) {int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc(100); arnovep(p,a,3); printf("%d%d ",p[2],p[5];free(p); }
以下程序输出正确的是______。 amovep(int *p,int(*A) [3],int n) {int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++} } main() {int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc(100); amovep(p,a,3); printf("%d%d ",p[2],p[5]);free(p); }
有以下程序 struct S{ int n;int a[20];}; voidf(struct S*p) { int i,j,t; for(i=0;i<p->n-1;i++) for(j=i+1;j<p->n;j++) if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;} } main() { int i;struct S s={10,{2,3,l,6,8,7,5,4,10,9}}; f(&s); for(i=0;i<s.n;i++)printf("%d,",s.a[i]); } 程序运行后的输出结果是
有以下程序: struct S{int n;int a[20];}; void f(struct S*P) { int i,j,t; for(i=0;i<P->n-1;i++) for(j=j+1;j<P->n-1;j++) if(p->a[i]>p->a[j]) {t=P->a[i];p->a[i]=P->a[j];p->a[j]=t} } main() {int i;struct S s{10,{2,3,1,6,8,7,5,4,10,9}}; f(&s); for(i=0;i<s.n;i++)printf("%d",s.a[i]);} 程序运行后的输出结果是( )。
有以下程序 #include <stdio.h> #include <string.h> void fun(char *s[],int n) { char *t; int i,j; for(i=0;i<n-1;++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i];s[j];s[j]=t;} } main() { char *ss[]={"bcc
相关题目
有以下程序 vold soru(int a[], int n) { int i,i,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i]; a[i]=a[i]; a[j]=t; } } main() { int aa[10]={1,2,3,4,5,6,7,8,9,10),i; sore(aa+2, 5); for(i=0;i<10;i++) printf("%d,",aa[i]); printf(" "); } 程序运行后的输出结果是
有以下程序: #include <stdio.h> void f(int a[],int i, int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa[i]);printf(" "); } 执行后的输出结果是( )。
有以下程序: void f(int a[],int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa[i]); printf(" "); } 执行后输出结果是( )。
有以下程序 void f(int a[],int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++)printf("%d,",aa[i];printf(" "); } 执行后输出结果是
有以下程序 void fun{int *a,int i,int j) { int t; if (i<j) t=a[i] ;a[i]=a[j] ;a[j]=t; fun(a, ++i, --j); } main ( ) { int a[]={1,2,3,4,5,6},i; fun(a,0,5); for (i=0; i<6; i++ ) printf ("%d" , a [i] ); } 执行后输出结果是
有以下程序: void fun( int *a, int i, int j) { int t; if ( i<j ) { t=a[i];a[i]=a[j];a[j]=t; fun (a,++i,--j); } } main() { int a[]={1,2,3,4,5,6),i; fun(a,0,5) for( i=0; i<6; i++) printf("%d",a[i]); } 执行后的输出结果是( )。
有以下程序: Void f(int a[],iht i,int j) { int t; if(i<j) { t=a[i]; a[i]=a[j]; a[j]=t; f(a,i+1,i-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d" ,aa[i]);printf(" "); } 执行后输出结果是
有以下程序 void fun(int *a,int i,int j) { int t; if (i<j) { t=a[j]; a[i]=a[j]; a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i:0;i<4;i++) printf("%2d",x[i]); } 程序运行后的输出结果是______。
有以下程序 void fun(int *a,int i,int j) { int t; if (i<j) { t=a[i]; a[i]=a[j]; a[j]=t; i++; j--; fun(a,i, j); } ) main ( ) { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf(""n); } 程序运行后的输出结果是
有以下程序 void fun(int*a,int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf(" "); } 程序运行后的输出结果是
有以下程序 void fun(int *a,int i,int j) { in t; if(i<j) {t=a[i];a[i]=a[j];a[j]=t; fun(a,++i,--j); } } main() { int a[]={1,2,3,4,5,6},i; fun(a,0,5); for(i=0;i<6;i++) printf("%d",a[i]); } 执行后输出结果是
有以下程序: void fun(int a*a,int i,int i) {int t; if(i<j); {t=a[i];a[i]=a[j];a[j]=t; fun(a,++i,--j); } } main() {inta[]={1,2,3,4,5,6},i; fun(a,0,5); for(i=0;i(6;i++) cout<(a[i]; } 执行后输出结果是( )。
有以下程序: void sott(int a[], int n) { int i, j, t; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;) } main() {int aa[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, I; sort(aa+2, 5); for (i=0; i<10; i++)printf("% d", aa[i]); printf(" "); } 程序运行后的输出结果是______。
有以下程序: void fun(int *a,int i,int i) { int t; if(i<j) { t==a[i];a[i]=a[j];a[i]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8),i; fun(x,0,3), for(i=0;i<4;i++) printf("%2d",x[i]); printf(" "); } 程序运行后的输出结果是( )。
以下程序的输出结果是( )。 void fun(int*a,int i,int i) {int t; if(i<i) { t=a[i[;a[i]=a[j];a[j]一t; i++;j--;fun(a,i,j); } } main { int K[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<1;i++)printf("%2d",x[i]); printf("\n"); }
有以下程序fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p]) ____; return(p);}在下画线处应填入的是A.i=p B.a[p]=a[i] C.p=j D.p=i
有以下程序: int f(int b[][4]) { int i, j, s=0; for(j=0; j<4; j++) { i=j; if(i>2)i=3-j; S+=b[i][j]; } return s; } main() { int a[4][4]={{1, 2, 3, 4}, {0, 2, 4, 6}, {3, 6, 9, 12}, {3, 2, 1, 0}}; printf("%d ", f(a)); } 执行后的输出结果是______。
有以下程序: int f(int b[][4]) { int i,j,s=0; for(j=0;i<4;i++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4,},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf("%d ",f(a)); } 执行后的输出结果是( )。
有以下程序,程序运行后的输出结果是______。 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;i++) { i=j; if(i>2)i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4},{0,2,4,6,},{3,6,9,12},{3,2,1,0}}; printf("%d ",f(A) ); }
下列函数的运行结果是( )。 #include<iostream.h> intf( int a, int b) { int c; if(a>b) c=1; elseif(a==b)C=0; elsec=-1; return(c);} void main() {int i=2,j=3; int p=f(i,j); cout<<p;}
广告位招租WX:84302438

免费的网站请分享给朋友吧