c语言:求一个3*3矩阵对角线元素之和

本文介绍了一个简单的C语言程序,该程序通过用户输入3x3矩阵来计算其主对角线元素之和。使用预处理指令#define定义矩阵大小,简化了代码并提高了可读性。
#include<stdio.h>
#define n 3
int main()
{
    int i,j,a[n][n],sum=0;
    printf("请输入矩阵(3*3):\n");
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<n;i++)
        sum+=a[i][i];
    printf("对角线之和为:%d\n",sum);
    return 0;
}

利用define函数在开头就定义了n,使程序更加简洁明了,利用双重for循环输入矩阵,并求解。

有什么问题可以在下面讨论,我会为大家解答

在C语言中,有多种方式可以实现3*3矩阵对角线元素之和。以下为几种示例代码: ### 示例一 ```c #include<stdio.h> int main() { int i, j; float sum = 0; float arr[3][3] = { 0 };//数组初始化 printf("请输入9个数字:\n"); for (i = 0;i < 3;i++)//输入数组元素 { for (j = 0;j < 3;j++) { scanf_s("%f", &arr[i][j]); } } for (i = 0;i < 3;i++)//计算对角线 { sum = sum + arr[i][i]; } printf("3 * 3矩阵对角线元素之和为:%f\n", sum); return 0; } ``` 此代码先对数组进行初始化,接着让用户输入9个数字作为矩阵元素,最后计算并输出主对角线元素之和[^2]。 ### 示例二 ```c #include<stdio.h> void main() { float a[3][3],sum=0; int i,j; printf("please input rectangle element:\n"); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%f",&a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][i]; printf("duijiaoxian he is %6.2f",sum); } ``` 该代码提示用户输入矩阵元素,然后计算主对角线元素之和并输出,输出格式保留两位小数[^4]。 ### 示例三 ```c #include <stdio.h> int main() { int zsum = 0,fsum=0,arr[6][6]; int i,j,n = 3; printf("输入矩阵的值\n"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf_s("%d", &arr[i][j]); if (i == j) zsum += arr[i][j]; if ((i + j + 1) == n) fsum += arr[i][j]; } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { printf("%d\t", arr[i][j]); } printf("\n"); } printf("主对角线之和%d\n,副对角线之和%d", zsum, fsum); return 0; } ``` 此代码不仅能计算主对角线元素之和,还能计算副对角线元素之和,最后将矩阵元素两条对角线元素之和输出[^1]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值