速求C语言编程题

设计三个函数,分别用于计算3*3整型矩阵的每行,每列及对角线元素之和。并在主函数中调用这三个函数,并将计算结果输出在屏幕上速求啊啊啊啊救命的啊... 设计三个函数,分别用于计算3*3整型矩阵的每行,每列及对角线元素之和。并在主函数中调用这三个函数,并将计算结果输出在屏幕上 速求啊啊啊 啊救命的啊 展开
 我来答
平安不是妖3914
推荐于2016-10-10 · TA获得超过840个赞
知道小有建树答主
回答量:631
采纳率:0%
帮助的人:450万
展开全部

#include<stdio.h>

//计算行元素和
void CountRow(int a[][3])
{
    int i,j,sum1=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            sum1 += a[i][j];
        }
        printf("第%d行元素和为:%d  ",i,sum1);
        sum1=0;
    }
    printf("\n");
}

//计算 列元素元素和
void CountRank(int a[][3])
{
    int i,j,sum2=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            sum2 += a[j][i];
        }
        printf("第%d列元素和为:%d  ",j,sum2);
        sum2=0;
    }
    printf("\n");
}

//计算主对角线元素和
void CountD(int a[][3])
{
    int i,j,sum3=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            if(i == j)
            {
                sum3 += a[i][j];
            }
        }
    }
    printf("主对角线元素和为:%d  ",sum3);
}


void main()
{
    int i,j;
    int a[3][3];
    for(i=0;i<3;i++)
    {
        printf("请输入矩阵第%d行的3个数字,以空格隔开:",i);
        for(j=0;j<3;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("%d,",a[i][j]);
        }
        printf("\n");
    }

    CountRow(a);
    CountRank(a);
    CountD(a);
}

liruih8121099
游戏玩家

2014-09-17 · 游戏我都懂点儿,问我就对了
知道小有建树答主
回答量:561
采纳率:75%
帮助的人:213万
展开全部
#include <stdio.h>

int getsumrow(int a[][3],int rowno)
{
    rowno--;
    int i,sum = 0;
    for(i=0;i<3;i++)
        sum += a[rowno][i];
    return sum;
}

int getsumcolumn(int a[][3],int columnno)
{
    columnno --;
    int i,sum = 0;
    for(i=0;i<3;i++)
        sum += a[i][columnno];
    return sum;
}

int getsumdiagonal(int a[][3],int flag) // flag = 1代表正对角线,flag = -1代表斜对角线
{
    int i,sum = 0;
    if(flag == 1)
    {
        for(i=0;i<3;i++)
            sum += a[i][i];
    }
    else
    {
        for(i=0;i<3;i++)
        sum += a[i][2-i];
    }
    return sum;
}

int main()
{
    int a[3][3] = {1,2,3,4,5,6,7,8,9};
    int sum,sum2;
    sum = getsumrow(a,1);
    printf("the sum of %d row is %d\n",1,sum);
    sum = getsumcolumn(a,2);
    printf("the sum of %d column is %d\n",1,sum);
    sum = getsumdiagonal(a,1);
    sum2 = getsumdiagonal(a,-1);
    printf("the sum of diagonal is %d and %d\n",sum,sum2);

    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式