C 练习实例38
题目:求一个3*3矩阵对角线元素之和
程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
实例
// Created by study.p2hp.com on 15/11/9.
// Copyright © 2015年 高手教程. All rights reserved.
//
#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;
}
以上实例输出结果为:
请输入矩阵(3*3): 1 2 3 4 5 6 7 8 9 对角线之和为:15
C 语言经典100例



麦穗melody
492***921@qq.com
求 N*N 阶矩阵对角线元素之和(N 为奇数):
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 int main() { int i=0,j=0; int a[N][N]; int sum=0; srand(time(NULL)); //srand()函数是随机函数rand()函数的种子函数,以time(NUL // L)为种子,可使rand()每次产生随机数不同; for(i=0;i<N;i++){ for(j=0;j<N;j++){ a[i][j]=rand()%(N*N+1); //rand()%31是产生0-30的随机数 } } printf("打印随机%d阶矩阵:\n",N); for(i=0;i<N;i++){ for(j=0;j<N;j++){ printf("%3d ",a[i][j]); if(j==N-1) printf("\n"); } } for(i=0;i<N;i++){ sum=sum+a[i][i]+a[i][N-1-i]; } sum=sum-a[(N-1)/2][(N-1)/2]; printf("%d阶矩阵对角线元素之和为:%d",N,sum); return 0; }麦穗melody
492***921@qq.com