以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。void reverse(int a[],int n){int i

题目

以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。 void reverse(int a[],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(“%d\n”,s); } 程序运行后的输出结果是

A.22

B.10

C.34

D.30

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序中函数reverse( )的功能是将a所指数组中的内容进行逆置。 void reverse(int a[ ],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main( ) { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d\n",s); } 程序运行后的输出结果是

A.22

B.10

C.34

D.30


正确答案:A

第2题:

下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 include void reverse

下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。

#include<stdio.h>

void reverse(int a[],iht n)

{ int i,t;

for(i=0;i<n/2;i++)

{ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;

reverse(b,10) ;

for(i=0;i<3;i++)s+=b[i];

printf("%d\n",s);

}

程序运行后的输出结果是( )。

A.27

B.6

C.25

D.30


正确答案:A
解析:本题考查函数调用时的参数传递。函数 reverse将数组b进行了逆置,此时的 b[10]={10,9,8,7,6,5,4,3,2,1},后面for语句的功能是将b中的前3个数累加,将结果放在s中,最后将s输出,结果s=10+9+8=27。

第3题:

以下程序中函数reverse的功能是对a所指数组中的内容进行逆置。 void reverse(int a[], int n) { int i, t; for(i=0; i<n/2; i++) {t=a[i]; a[i]=a[n-1-1]; a[n-1-i]=t;} } main() { int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int i, s=0; reverse(b, 8); for(i=6; i<10; i++) s+=b[i]; printf("% d\n", s); } 程序运行后的输出结果是______。

A.22

B.10

C.34

D.30


正确答案:A
解析:主函数调用reverse时。实参为b和8,即reverse函数的功能是将数组b中的前8个元素逆置,其余元素不变。因此函数调用结束后数组b的内容为:8、7,6、5、4、3、2、1、9、10。main函数中for循环语句的功能是求b[6]元素到b[9]元素的和,即s=b[6]+b[7]+b[8]+b[9]=2+1+9+10=22,因此printf语句的输出结果是22。

第4题:

以下程序中函数reverse 的功能是将a所指数组中的内容进行逆置。 void reverse(int a [ ], int n){ int i, t; for(i=0;i<n/2;i++) {t=a[i]; a[i] =a[n-1-i];a[n-1-i]=t; }}main(){ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i, s=0; reverse(b,8); for(i=6;i<10;i++) s+=b[i]; printf("%d\n", s);} 程序运行后的输出结果是

A.22

B.10

C.34

D.30


正确答案:A
解析:本题考查的知识点是数组名作为函数参数及函数调用。reverse()数的功能是将具有n个元素的数组a反序存放。在主函数中调用语句是“reverse(b,8);”,实现的功能是把b数组的前八个元素逆置,所以b数组中依次存放的值为“8,7,6,5,4,3,2,1,9,10”。for循环了4次,分别把b[6]、b[7]、b[8]和b[9]的值(分别是2、1、9、10)加到了s中,s的结果是22,所以最后输出的s值为22。所以4个选项中A正确。

第5题:

请编写函数proc,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为 13 23 33 43 14 24 34 44 15 25 35 45 则一维数组中的内容应该是13 23 33 43 14 24 34 44 15 25 35 45。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。 试题程序: include<stdio.h> void proc(int(*s)[103,int*b,int*n,int rain.int nn) {

} void main { int arr[10][10]={{33,33,33,33),{44,44,44,44}, {55,55,55,55}),i,j; int a[l00]={o),n=o; printf("The matrix:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%3d",arr[i][j]): printf("\n"); } proc(arr,a,&n,3,4): printf("The A array:\n"); for(i=0;i<n;i++) printf("%3d",a[i]): printf("\n\n"); }


正确答案:

void proc(int(*s)[10],int*b,int*n,int mm,int nn)
{
int i,j,k=0;
for(i=0;i<mm;i++)//i是表示其行的下标
for(j=0;j<nn;j++)//j是表示其列的下标
b[k++]=s[i][j]; //把其放到b的一维数组中
*n=k; //把b数组的长度通过形参n传回到主函数中
}
【解析】要将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,可以通过首先行循环,然后列循环取出二维数组中的每一个元素,并将其放入一维数组中。最后,将一维数组的长度通过形参返回到主函数当中。

第6题:

下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。includevoidreverse(in

下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 #include<stdio.h> void reverse(int a[], int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i];a[i]=a[a-1-i];a[n-1-i]=t;} main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,10); for(i=0;i<3 ;i++) s+=b[i]; printf("%d\n",s); } 程序运行后的输出结果是( )。

A.27

B.6

C.25

D.30


正确答案:A
解析:本题考查函数调用时的参数传递.函数reverse将数组b进行了逆置,此时的b[10]=(10,9,8,7,6,5,4,3,2,1},后面for语句的功能是将b中的前3个数累加,将结果放在s中,最后将s输出,结果s=10+9+8=27。

第7题:

以下程序中函数reverse的功能是将a所指数组中的内容进行逆置: void reverse(int a[ ],int n) { int i,t; for(i=0;i<n/2l;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t; } } main() {int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for (i=6;i<10;i++) s+=b[i]; printf("%d\n",s); } 程序运行后的输出结果是( )。

A.22

B.10

C.34

D.30


正确答案:A
解析:题目中reverse()函数的功能是将具有n个元素的数组a反序存放。在主函数中调用语句是“reverse(b,8);”,实现的功能是把b数组的前8个元素逆置,所以b数组中依次存放的值为“8,7,6,5,4,3,2,1,9,10”。for循环了4次,分别把b[6]、 b[7]、b[8]和b[9]的值(分别是2、1、9、10)加到了s中,s的结果是22,所以最后输出的s值为22。故4个选项中A正确。

第8题:

下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。includevoid reverse(i

下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 #include<stdio.h> void reverse(int a[],int n) { int i,t; for(i=0;i<n/2,i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,

A.ptr是一个返回值是血的函数

B.ptr是指向int型数据的指针变量

C.ptr是指向函数的指针,该函数返回一个int型数据

D.ptr是一个函数名,该函数的返回值是指向血型数据的指针


正确答案:C
解析: 本题考查的是指向函数的指针。函数指针定义的基本格式为:类型标识符(*指针变量名)()。“类型标识符”为函数返回值的类型。

第9题:

( 9 )下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。

void reverse(int *a, int size){

if(size<2) return;

int k=a[0];

a[0]=a[size-1];

a[size-1]=k;

reverse(a+1, 【 9 】 );

}


正确答案: