定义一个二维数组: int array[10][10],表示一个10*10的矩阵,设循环变量i,则以下程序输出的是该数组中的哪些值? for(i=0;i<10;i++) printf(“%d”,array [i] [i]);A.正对角线上的元素值B.反对角线上的元素值C.第一行的值D.按行输出数组中的所有元素值E.按列输出数组中的所有元素值F.第一列的值

题目

定义一个二维数组: int array[10][10],表示一个10*10的矩阵,设循环变量i,则以下程序输出的是该数组中的哪些值? for(i=0;i<10;i++) printf(“%d”,array [i] [i]);

A.正对角线上的元素值

B.反对角线上的元素值

C.第一行的值

D.按行输出数组中的所有元素值

E.按列输出数组中的所有元素值

F.第一列的值


相似考题
更多“定义一个二维数组: int array[10][10],表示一个10*10的矩阵,设循环变量i,则以下程序输出的是该数组中的哪些值? for(i=0;i<10;i++) printf(“%d”,array [i] [i]);”相关问题
  • 第1题:

    有以下程序 , 程序执行后 , 输出结果是【 1 1 】

    #include <stdio.h>

    void fun(int *a)

    { a[0]=a[1];}

    main()

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

    for(i=2;i>=0;i--) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d",a[i]);

    printf("\n");

    }


    正确答案:

  • 第2题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

    实现矩阵(3行3列)的转置(即行列互换)。

    例如,输入下面的矩阵:

    100 200 300

    400 500 600

    700 800 900

    程序输出:

    100 400 700

    200 500 800

    300 600 900

    【函数】

    int fun(int array[3][3])

    {

    int i,j,t;

    for(i=0;(1);i++)

    for(j=0;(2);j++)

    {

    t=array[i][j];

    (3);

    (4);

    }

    }

    }

    main()

    {

    int i,j;

    int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};

    clrscr();

    for (i=0;i<3;i++)

    {

    for(j=0;j<3;j++)

    printf("%7d",array[i][j]);

    printf("\n");

    }

    fun((5));

    printf("Converted array:\n");

    for(i=0;i<3;i++)

    {

    for(j=0;j<3;j++)

    printf("%7d",array[i][j]);

    printf("\n");

    }

    }


    正确答案:(1)i3 (2)ji (3)array[i][j]=array[j][i] (4)array[j][i]=t (5)array
    (1)i3 (2)ji (3)array[i][j]=array[j][i] (4)array[j][i]=t (5)array 解析:本题考查用C语言实现矩阵的转置。
    题目要求程序实现矩阵(3行3列)的转置,其关键是将当前行列对应的元素与其对应的列行元素互换。题目中给出了具体的矩阵元素和结构,下面来具体分析程序。
    第(1)空很明显是循环语句的判断条件,是上界条件,这个二重循环的作用是进行数组中元素的互换,而从题目中给出的已知条件可以判断出,这个数组是一个三维的数组,而在程序中下标是从0开始的,那么其上界应该是不大于3,因此这个空的答案分别是i3。
    第(2)空也是循环的判断上界,在上面我们已经分析出了这个二重循环的作用是进行数组中元素的互换,而元素互换的过程是将当前行列对应的元素与其对应的列行元素互换,元素的下标都要在能互换的下标范围内,那么第二重循环的上界应该是第一重循环变量的当前值,因此此空答案为ji。
    第(3)空在这个二重循环体中,从程序中不难发现,用一个临时变量f来存放要置换的值,接下来就是此空,那么应该是将其中一个值放到其转置后的位置,再结合上面分析,可以得出此空答案为array[i][j]=array[j][i]。
    第(4)空是紧接着上一空而来的,在上面的程序中已经将当前位置中的值保存到了临时变量t中,且把其对应的转置位置的元素值放到了这个位置,那么接下来应该是将临时变量中的值放到转置位置,因此此空答案为array[j][i]=t。
    第(5)空很明显是函数的参数,这个函数就是功能函数fun(),用来实现矩阵的转置,根据程序中函数的定义,它只有一个参数,这个参数是要被处理的数组。在主函数中,需要被处理的数组是array,这里我们需要注意在数组作为函数的形参时,一般是通过传递其地址来实现参数传递的,因此此空答案为array。

  • 第3题:

    下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为

    a=4 5 6

    1 7 9

    3 2 6,

    则返回主程序后a数组中的值应为

    0 0 0

    1 0 0

    3 2 0

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<conio.h>

    include<stdio.h>

    include<stdlib.h>

    define N 5

    int fun(int a[ ][N])

    {

    }

    main()

    {

    int a[N][N],i,j;

    clrscr( );

    printf("*****The array*****\n");

    for(i=0;i<N;i++)

    /*产生—个随机的5*5矩阵*/

    {for(j=0;j<N;j++)

    {a[i][j]=rand( )%10;

    printf (“%4d”,a[i][j]);

    }

    printf(“\n”);

    }

    fun(a);

    printf(“THE RESULT\n”);

    for(i=0;i<N;i++)

    { for(j=0;i<N;j++)

    printf(“%4d”,a[i][j]);

    printf(“\n”);

    }

    }


    正确答案:int fun (int a[][N)) { int ij; for(i=0;iN;i++) for(j=i;jN;j++) a[i][j]=0; /*将数组右上半三角元素中的值全部置成0*/ }
    int fun (int a[][N)) { int i,j; for(i=0;iN;i++) for(j=i;jN;j++) a[i][j]=0; /*将数组右上半三角元素中的值全部置成0*/ } 解析:本题旨在考查控制数组中右上半三角元素的算法,也就是两个千篇一律的循环语句,希望学习者能够掌握消化。

  • 第4题:

    程序定义了N×N的二维数组,并在主函数中自动赋值。

    请编写函数fun(int a[][N],int n),该函数的功能是使数组左下半三角元素中的值加上n。

    例如:若n的值为3,a数组中的值为

    a=2 5 4

    1 6 9

    5 3 7

    则返回主程序后a数组中的值应为

    5 5 4

    4 9 9

    8 6 10

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数full的花括号中填入所编写的若干语句。

    试题程序:

    include <stdio.h>

    include <conio.h>

    include <stdlib.h>

    define N 5

    fun(int a[][N],int n)

    {

    }

    main()

    {

    int a[N][N],n,i,j;

    clrscr();

    printf("***** The array *****\n");

    for(i=0;i<N;i++)

    /*产生—个随机5*5矩阵*/

    {

    for(j=0;j<N;j++)

    {

    a[i][j]=rand()%10;

    printf("%4d",a[i][j]);

    }

    printf("\n");

    }

    do

    n=rand()%10;

    /*产生一个小于5的随机数n*/

    while(n>=5);

    printf("n=%4d\n",n);

    fun(a,n);

    printf("*****THE RESULT*****\n");

    for(i=0;i<N;i++)

    {

    for(j=0;j<N;i++)

    printf("%4d",a[i][j]);

    printf("\n");

    }

    }


    正确答案:fun (int a[ ][N] int n) { int ij; for(i=0; iN; i++) for(j=0; ji; j++) a[i][j]=a[i][j]+n /*使数组左下半三角元素中的值加上n*/ }
    fun (int a[ ][N], int n) { int i,j; for(i=0; iN; i++) for(j=0; ji; j++) a[i][j]=a[i][j]+n /*使数组左下半三角元素中的值加上n*/ } 解析:首先从数组中找出要被加上n的那部分元素,找的过程其实就是找出将被挑出的那部分元素在原数组中的分布规律的过程。通过观察得出,要被处理的那部分元素的下标值的范围是每行中从第一个元素开始,直到列数等于该行行数时为止。找到这个规律后,依次从数组中取得合乎要求的元素,然后再加上n。

  • 第5题:

    若已定义,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、 4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、 2、3、4、5、5、4、3、2、1。请填空。

    fun( int a[])

    {

    int i,

    for(i=1;i<=10;i++) 【 】=i;

    for(i=0;i<5;i++) 【 】=a[i];

    }


    正确答案:a[i-1]a[9-i]
    a[i-1],a[9-i]

  • 第6题:

    定义数组char a[]=}'0','1','2','3');,则将该数组中元素按反序转换成整数,正确的程序段是______。

    A.int k=0,i; for(i=0;i<4;i++) k=k*10+a[i]-48;

    B.int k=0,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';

    C.int k=0,i; for(i=3;i>=0;i--) k=k+a[i]-'0';

    D.int k,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';


    正确答案:B
    解析:将字符数组中的元素按反序转换成整数,数组第一个元素应当是四位整数的个位,依次类推,字符数字转换为数字的基本方法是将该字符的ASCII码值减去字符0的ASCII码值,程序的输出结果是3210。

  • 第7题:

    下面程序的输出是main(){ int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf("%d\n",k);}


    正确答案:12
    本题的考查点是for循环。
    第一个循环
    for(i=0;i<10;i++)
          arr[i]=i;
    是将数组元素0~9分别赋值为0~9。
    第二个循环
    for(i=1;i<4;i++)
          k+=arr[i]+i;
    可以变化成以下形式:
    for(i=1;i<4;i++)
          k=arr[i]+i+k;
    计算数组arr[1]、arr[2]、arr[3]的各个值,可以得到k的最终值为12。

  • 第8题:

    下面程序的输出是【 】。

    main()

    {int arr[10],i,k=0;

    for(i=0;i<10;i++)

    arr[i]=i;

    for(i=1;i<4;i++)

    k+=arr[i]+i;

    printf("%d\n",k);}


    正确答案:12
    12 解析:本题通过第一个for循环将数组arr[0]-arr[9]分别赋值为0-9,通过第二个for循环的三次循环累加,求出结果为12,具体分析如下:
    i=1:K=0+arr[1]+1即k=2;
    i=2:k=2+arr[2]+2即k=6;
    i=3:k=6+arr[3]+3即k=12;

  • 第9题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

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

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

  • 第10题:

    本题定义了一个长度为l0的boolean型数组,并给数组元素赋值,要求如果数组元素下标为奇数,则数组元素值 为false,否则为true。 public class javal{ pubhc static void main(String[]args){ boolean b[]= ; for(int i=0;i<10;i++){ if( ) b[i]=false; else ; } for(int i=0;i<10;i++) System.Out.print("bE"+i+"]="+b[i]+","); } }


    正确答案:
    第1处:new boolean[10]
    第2处:i%2 1=0
    第3处:b[i]=true
    【解析】第1处定义了一个长度为10的boolean型数组;第2处判断数组元素下标是否为奇数。第3处不为奇数的情况下数组元素值设为true。

  • 第11题:

    以下程序中函数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。

  • 第12题:

    对一个已定义好的数组a[10]赋初值,大小为其下标。 for(i=0;i()10;i++)a[i]=i;


    正确答案:<

  • 第13题:

    下面程序的输出是【 】。

    main()

    {int arr[10],i,k=0;

    for(i=0;i<10;i++)

    arr[i]=i;

    fov(i=1;i<4;i++)

    k+=arr[i]+i;

    printf("%d\n",k);}


    正确答案:12
    12 解析:本题通过第一个for循环将数组arr[0]=arr[9]分别赋值为0-9,通过第二个for循环的三次循环累加,求出结果为12,具体分析如下:
    i=1:k=0+arr[1]+1 即k=2;
    i=2:k=2+arr[2]+2 即k=6;
    i=3:k=6+arr[3]+3 即k=12:

  • 第14题:

    C语言数组输出间隔

    #include <stdio.h>void main(){ void sort(int array[],int n); int a[10],i; printf("enter the array:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); sort(a,10); printf("The sorted array:\n"); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n");}void sort(int array[],int n){ int i,j,k,t; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) if(array[j]<array[k]) k=j; t=array[k];array[k]=array[i];array[i]=t; }}程序呢,就是这个了。谭老爷子书上的例题,和书上一样,然后输入:5 7 -3 21 -43 67 321 33 51 0 然后从小到大排好后输出,书上他们之间从小到大有间隔,但是我运行了,没有间隔。。。。( ⊙o⊙ )?咋解决?????来高手解答。。。我运行后是:-43-305721335167321


    #include <stdio.h> void main() { void sort(int array[],int n); int a[10],i; printf("enter the array:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); sort(a,10); printf("The sorted array:\n"); for(i=0;i<10;i++) printf("%d\t",a[i]);//在这加一个\t就行了 printf("\n"); }

  • 第15题:

    有以下程序: include include usingnamespacestd; intmain() {intarrays

    有以下程序: #include <iostream> #include <cstdlib> using namespace std; int main() { int arraysize; int *array; cout<<"Please input the size of the array:"; cin>>arraySiZe; array=new int[arraysize]; if(array==NULL) { cout<<"allocate Error\n"; exit(1); } for(int i=0;i<arraysize;i++) array[i]=i*i; int j; cout<<"which element you want to check:"; cin>>j; cout<<array[j]<<end1; return 0; } 执行程序输入:10<空格>5,则输出结果为( )。

    A.allocate Error

    B.1

    C.0

    D.25


    正确答案:D
    解析:程序中利用new()申请动态分配数组。利用for循环给数组array赋值。最后输出想要检查元素的值。程序输10,即数组array元素个数为10。程序输入5,即检查元素array[5]的值。由for循环的赋值运算可知array[5]的值为25,所以程序最后输出25。

  • 第16题:

    定义如下变量和数组:

    int i;

    int y[2][3]={2,4,6,8,10,12};

    则下面语句的输出结果是【 】。

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

    cout<<y[1-i)[i+1]<<",";


    正确答案:106
    10,6 解析:for循环所输出的数组元素分别为y[1][1]、y[O][2],即输出10和6。

  • 第17题:

    下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。例如a数组中的值为

    a=1 9 7

    2 3 8

    4 5 6

    则返回主程序后a数组中的值应为

    0 9 7

    0 0 8

    0 0 0

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <conio.h>

    include <stdio.h>

    include <stdlib.h>

    define N 5

    int fun (int a[] [N])

    {

    }

    main()

    {

    int a[N] [N],i,j;

    clrscr();

    printf("*****The array*****\n");

    for(i=0;i<N;i++)

    /*产生—个随机的5*5矩阵*/

    { for(j=0;j<N;j++)

    {a[i][j]=rand()%10;

    printf("%4d", a[i][j]);

    }

    printf("\n");

    }

    fun (a);

    printf("THE RESULT\n");

    for(i=0;i<N;i++)

    { for(j=0;j<N;j++)

    printf("%4d",a[i][j));

    printf("\n");

    }

    }


    正确答案:int fun (int a[][N]) { int ij; for(i=0;iN;i++) for(j=0;j=i;j++) a[i][j]=0; /*将数组左下半三角元素中的值全部置成0*/ }
    int fun (int a[][N]) { int i,j; for(i=0;iN;i++) for(j=0;j=i;j++) a[i][j]=0; /*将数组左下半三角元素中的值全部置成0*/ } 解析:本题旨在考查控制数组中左下半三角元素的算法,也就是两个千篇一律的循环语句,希望学习者能够掌握消化。

  • 第18题:

    以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。请填空。#include <stdio.h>#define N 80int fun(int a[], int n){ int i,j=1; for(i=1;i<n;i++) if(a[j-1]a[i]) a[j++]=a[i]; ;}main(){ int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}, i, n=19; printf("The original data :\n"); for(i=0; i<n; i++) printf("%3d",a[i]); n=fun(a,n); printf("\nThe data after deleted :\n"); for(i=0; i<n; i++) printf("%3d",a[i]); printf("\n");}


    正确答案:<,return j
    在本题中,程序的功能是删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
    在主函数中,首先定义了一个一维数组,并进行了初始化操作,然后用一个循环输出该数组,接着调用函数fun去掉数组中重复的元素,最后输出。按照题目要求,我们可以知道函数fun的作用是去掉已排好序数组中的重复元素。
    fun函数带有两个形参,从主函数中我们可以看出,这两个形参分别是数组的首地址和数组的长度。在函数体中,首先定义两个整型变量i和j,其中j被初始化为1,而i作为循环变量,然后执行for循环,循环的结束条件是循环变量i小于数组的长度,从题目要求和程序来分析,该循环的作用是删除数组中重复的元素,在循环体中,首先执行条件判断语句if,第13空就是该语句的判断条件表达式,如果条件为真,执行a[j++]=a[i];,从程序中我们推断出a[j++]是用来存储新的数组,而将a[i];赋值给a[j++]时,能确定a[i]是出现一个新数值的时候,即一个更大的数值,那么此时a[i]应该大于a[j-1],因此第13空应该填<运算符。
    第14空是在循环结束后的一条语句,从主函数中我们可以看出,函数应该有个返回值,且返回值作为输出数组元素个数的依据,由此我们可以推断出在14空处应该返回新数组的长度。返回的应该是变量j的当前值,因此,第14空的答案是return j。本题的答案应该分别是<和return j

  • 第19题:

    以下程序中函数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。

  • 第20题:

    下列程序中函数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。

  • 第21题:

    下述程序的输出结果是()。includevoid main(){int a[20],*p[4];int i,k=0;for(i=0;i<20

    下述程序的输出结果是( )。 #include<stdio.h> void main() {int a[20],*p[4]; int i,k=0; for(i=0;i<20;i++) a[i]=i; for(i=0;i<4;i++) p[i]=&a[i*i+1]; for(i=0;i<4;i++) {k=k+*p[i];} printf("%d",k); }

    A.10

    B.18

    C.6

    D.数组元素引用不合法,输出结果不定


    正确答案:B
    解析:第一个for循环,给数组a的20个元素分别赋值0~19;第二个for循环,给数组p赋值,p[0]=a[1]=1,p[1]=a[2]=2,p[2]=a[5]=5,p[3]=a[10]=10;第三个for循环,将数组p中元素的值进行累加,k=1+2+5+10=18。

  • 第22题:

    阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

    输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

    【函数】

    main ( )

    {

    int number[10];

    input (number);

    max min (number);

    output (number);

    }

    input (number)

    int number[10];

    {int i;

    for ( i=0;i<9;i++ )

    scanf ( "%d,",&number[i] );

    scanf ( "%d",&number[9] );

    }

    max_min ( array )

    int array[10];

    {int *max,*min,k,1;

    int *p,*arr_end;

    arr end=(1);

    max=min=array;

    for ( p=(2);p<arr_end;p++ )

    if((3)) max=p;

    else if ( *p<*min ) min=p;

    (4);

    l=*min;

    (5);array[0]=1;1=*p;

    *p=array[9];array[9]=k;k=*p;

    return;

    }

    output ( array )

    int array[10];

    { int *p;

    for ( p=array;p<array+9;p++ )

    printf ( "%d,",*p );

    printf ( "%d\n",array[9] );

    }


    正确答案:(1)array+10 (2) array+1 (3) *p>*max (4) k=*max (5) *p=array[0]
    (1)array+10 (2) array+1 (3) *p>*max (4) k=*max (5) *p=array[0]

  • 第23题:

    下列程序中函数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。

  • 第24题:

    输出一个已赋值的整型数组a[10]各元素的值。 请完善:for(i=0;i<=9;i++)();


    正确答案:printf(“%d”,a[I];