编写一个五行五列的二维数组,按行依次输入从3开始能被3整除的数,并输出对角线以及对角线左边的所有元素
#include<stdio.h>
int main()
{
int i,j;
int n[5][5];
for(i=0;i<5;i++)
for(j=0;j<5;j++)
n[i][j] = (j+1)*3+i*3*5;
printf("原数组:\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++)
printf("%d\t",n[i][j]);
printf("\n");
}
int m[5];
printf("对角线:\n");
for(i=0;i<5;i++){
m[i] = n[i][i];
printf("%d\t",m[i]);
}
printf("\n三角阵:\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++)
if (n[i][j]<=m[i])
printf("%d\t",n[i][j]);
printf("\n");
}
return 0;
}
输出:
原数组:
3 6 9 12 15
18 21 24 27 30
33 36 39 42 45
48 51 54 57 60
63 66 69 72 75
对角线:
3 21 39 57 75
三角阵:
3
18 21
33 36 39
48 51 54 57
63 66 69 72 75
--------------------------------
Process exited after 1.509 seconds with return value 0
请按任意键继续. . .
3 6 9 12 15
18 21 24 27 30
33 36 39 42 45
.。。。。
显然对角线是个以3开始,公差为18的等差数列,直接求和就行了