编写程序。定义一个二维数组a[3][3],每个数组元素的值由a[i][j]=※2+j※3得到,要求

编写程序。定义一个二维数组a[3][3],每个数组元素的值由a[i][j]=※2+j※3得到,要求按矩阵形式输出。通过调用函数,输出a[3][3]数组元素的总分和平均分... 编写程序。定义一个二维数组a[3][3],每个数组元素的值由a[i][j]=※2+j※3得到,要求按矩阵形式输出。通过调用函数,输出a[3][3]数组元素的总分和平均分 展开
 我来答
老戴在此564
2017-10-31 · TA获得超过2002个赞
知道大有可为答主
回答量:3874
采纳率:72%
帮助的人:500万
展开全部

编写程序。定义一个二维数组a[3][3],每个数组元素的值由a[i][j]=※2+j※3得到,要求按矩阵形式输出。通过调用函数,输出a[3][3]数组元素的总分和平均分

编程思路分析:

题目的意图是用循环语句对数组的元素赋值,循环语句输出数组元素,函数方式计算出数组元素的总分和平均分

解答办法:

使用双重for循环对数组元素进行赋值运算和矩阵形式输出

核心代码:

//对数组元素赋值
for(int i = 0; i < 3; i++){
    for(int j = 0; j < 3; j++){
        a[i][j] = i * 2 + j * 3;
    }
}

//输出数组元素
for(int i = 0; i < 3; i++){
    for(int j = 0; j < 3; j++){
        printf("%d\t", a[i][j]);
    }
    printf("\n");
}

//计算数组元素的和值
int sum = 0;
for(int i = 0; i < 3; i++){
    for(int j = 0; j < 3; j++){
        sum += a[i][j];
    }
}
return sum;

//平均值
int avage = 0;
avage = sum / (3*3);
靠谱儿妈妈
2017-11-08 · TA获得超过957个赞
知道小有建树答主
回答量:741
采纳率:74%
帮助的人:263万
展开全部

设计思想:

  1. 定义二维数组,并按照题目中的要求初始化。建议使用宏来定义二维数组的大小,这样方便修改二维数组大小,减少维护工数。

  2. 分别定义并初始化变量sum和average,用于求和,求平均数

  3. 使用双重循环,将二维数组以矩阵形式输出

  4. 使用双重循环,求二维数组的和

  5. 用3中求出的和,计算平均数

代码:

#include<stdio.h>
#define M 3
#define N 3

int main() {
        int sum=0;
        double average=0.0;
        int a[M][N];//定义二维数组
        for (int i=0; i < M; i++) {//初始化二维数组
                for (int j=0; j < N; j++) {
                        a[i][j] = i * 2 + j * 3;
                }
        }
        //使用双重循环,求二维数组的和
        for (int i=0; i < M; i++) {
                for (int j=0; j < N; j++) {
                       sum += a[i][j];
                        printf("%d ", a[i][j]);
                }
                printf("\n");
        }
        average = ((double)sum)/(M*N);//计算平均数

        printf("sum = %d, average=%lf\n",sum, average);
        return 0;
}

运行结果:

0 3 6
2 5 8
4 7 10
sum = 45, average=5.000000

备注提醒:

题目中说“每个数组元素的值由a[i][j]=※2+j※3得到”,应该是提问者笔误。此处,建议理解为“每个数组元素的值由a[i][j]=i*2+j*3得到”。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拓宽视野
推荐于2018-02-28 · TA获得超过636个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:266万
展开全部
#include <stdio.h>

//The sum of the array a and the average
void outPut(int (*p)[3])
{
    int i, j, sum = 0;
    float average;
    //Sum of the array a
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            sum += p[i][j];
        }
    }
    
    //Average of the array a
    average = sum / 9.0;
    
    //Output the result
    printf("The Sum of the Array a equals : %d\nThe Average of the Array a equals : %f\n", sum, average);
}

//Use the Ver. to output the array a
void outputVer(int (*p)[3])
{
    int i, j;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            printf("%3d", p[i][j]);
        }
        printf("\n");
    }
}

//Main Function
int main(int argc, char *argv[])
{
    //Definition of the variable
    int i, j, a[3][3] = {};
    
    //Initialize the array use the formula a[i][j] = 2 * i + 3 * j;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            a[i][j] = 2 * i + 3 * j;
        }
    }
    
    //Output the array in Vertical
    outputVer(a);
    
    //Output the results using the function
    outPut(a);
    
    //The end of the Program
    return 0;    
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式