7-9 矩阵部分元素和 (15 分)
编程输入整数N(1<N<10),然后再输入N*N个整数(N阶矩阵)按顺序存放在一个N行N列的二维数组中。要求输出矩阵上三角元素的和、下三角元素的和(主对角线属于上三角和下三角共有元素)。
输入样例:
3
1 2 3
4 5 6
7 8 9
结尾无空行
输出样例:
26 34
结尾无空行
输入样例:
3
1 2 3
4 5 6
7 8 9
结尾无空行
输出样例:
26 34
结尾无空行
双循环输入。上三角的特点是j>=i,下三角正好相反
#include <stdio.h>
int main()
{
int a[10][10];
int n,i,j,sum0=0,sum1=0;
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
if(j>=i)
sum0+=a[i][j];
if(j<=i)
sum1+=a[i][j];
}
printf("%d %d",sum0,sum1);
return 0;
}
#include <stdio.h>
int main() {
int n,i,j,s1=0,s2=0;
int a[10][10];
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
if(i>=j){
s1+=a[i][j];
}
if(i<=j){
s2+=a[i][j];
}
}
}
printf("%d %d",s2,s1);
return 0;
}
上三角是j>=i的元素
下三角是j<=i的元素
#include <stdio.h>
int main()
{
int n,i,j;
int a[10][10];
int sum1=0,sum2=0;
scanf("%d",&n);
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
if(j>=i)
sum1+=a[i][j];
if(j<=i)
sum2 += a[i][j];
}
}
printf("%d %d",sum1,sum2);
//printf("上三角元素和=%d\n",sum1);
//printf("下三角元素和=%d\n",sum2);
return 0;
}