itgle.com

程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],int n),该函数的功能是使数组左下半三角元素中的值加上n。例如:若n的值为3,a数组中的值为a=2 5 41 6 95 3 7则返回主程序后a数组中的值应为5 5 44 9 98 6 10注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数full的花括号中填入所编写的若干语句。试题程序:include <stdio.h>include <conio.h>include <stdlib

题目

程序定义了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");

}

}


相似考题
更多“程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N],int n),该函数的功能 ”相关问题
  • 第1题:

    下列程序定义了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*/ } 解析:本题旨在考查控制数组中左下半三角元素的算法,也就是两个千篇一律的循环语句,希望学习者能够掌握消化。

  • 第2题:

    请教:2016年计算机二级考试C++模拟试题简答题5答案

    程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。


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

      {int i,j;

      for(i=0;i

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

      a[j]=a[j]*n;}

  • 第3题:

    程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(int a[][M],int n),该函数的功能是使数组左下半三角元素中的值加上n。例如,a数组中的值为:

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

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

    试题程序:


    正确答案:


    【解析】使数组左下半三角元素中的值加上n,首先要找出数组中下半三角元素。数组中下半三角元素的特点是,其列下标小于等于行下标。根据这个特点找出所有的下半三角元素再加上n放在原来的位置上。

  • 第4题:

    下列程序定义了N×N的二维数组,并在主函数中赋值。请编写一个函数fun(),函数的功能是:求数组周边元素的平方和并作为函数值返回给主函数。例如,若数组a中的值为

    0 1 2 7 9

    1 11 21 5 5

    2 21 6 11 1

    9 7 9 10 2

    5 4 1 4 1

    则返回主程序后s的值应为310。

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

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

    [试题源程序]

    include <stdio.h>

    include <conio.h>

    include <stdlib.h>

    define N 5

    int fun(int w[][N])

    {

    }

    main()

    {

    int a[N][N]={0, 1, 2, 7, 9, 1, 11, 21, 5, 5, 2, 21, 6, 11, 1, 9, 7, 9, 10, 2, 5, 4, 1, 4, 1};

    int i, j;

    int s;

    clrscr()

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

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

    {

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

    {

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

    }

    printf("\n');

    }

    s=fun(a);

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

    printf("The sum is: %d\n", s);

    }


    正确答案:
    int fun(int w[][N]) { int i, j, k=0; int s=0; for(i=0; iN; i++) for(j=0; jN; j++) if(i==0 || i==N-i || j==0 || j==N-1) { s=s+w[i][j]*w[i][j]; } return s; } 解析:该题采用逐一判断的方式,周边元素的下标一定有0或N-1,且只要下标中有一个为0或N-1,则它一定是周边元素。

  • 第5题:

    程序定义了NxN的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。

    例如:若m的值为2,a数组中的值为:

    注意:部分源程序存在文件PROGl.C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是使数组右上半三角元素中的值乘以m。本题中首先要确定右上角半角元素的特点,然后对元素逐个进行乘以m的操作。其中,右上角的元素是行下标小于等于列下标的元素。