题目:
输入5*5阶的矩阵,编程实现:
输出矩阵,且
1.求两条对角线上的各元素之和
2.求两条对角线上行、列下标均为偶数的各元素之积
思路:
1.通过一个二重循环输入各元素,通过一个二重循环输出,在第一层循环结束设置换行,以便得到标准的矩阵
2.对角线上的元素,
(0,0)(0,1)(0,2)(0,3)(0,4)
(1,0)(1,1)(1,2)(1,3)(1,4)
(2,0)(2,1)(2,2)(2,3)(2,4)
(3,0)(3,1)(3,2)(3,3)(3,4)
(4,0)(4,1)(4,2)(4,3)(4,4)
第一种 :i=j
第二种:i+j=4
但是 ,出现了一个(2,2)重复,所以要解决
C代码
#include<stdio.h>
void main()
{
int a[5][5],i,j,sum=0,s=1;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%3d",a[i][j]);
printf("\n");
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==j||i+j==4&&i!=2)
sum+=a[i][j];
if(i==j&&i%2==1&&j%2==1||i+j==4&&i!=2&&i%2==1&&j%2==1)
s*=a[i][j];
}
}
printf("%d %d",sum,s);
}
运行结果: