0
已解决
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a[101][101],n,yi=0,er=0,san=0;
cin>>n;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cin>>a[i][j];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
if(j==0)
{
yi+=a[i][j];
}
else if(j==1)
{
er+=a[i][j];
}
else if(j==2)
{
san+=a[i][j];
}
}
cout<<yi<<' '<<er<<' '<<san<<' '<<yi+er+san;
return 0;
}
0
已采纳
这一题,样例会将你引向歧途,多写程序就可以发现哦。
你的程序问题出在太想当然。样例给的n是3,所以输入的矩阵就是n*n的正方形,这时,你的i,j都循环到n是没有问题的。
但是,如果n是4,输入的矩阵就应该是4*3。发现自己的问题了吗?
只需要将每个循环中j的终值改为3,就可以啦。

0
0
for (i=1;i<=n;i++)
{
scanf("%d%d%d",&x,&y,&z);
a[1]+=x; a[2]+=y; a[3]+=z;
}
ans=a[1]+a[2]+a[3];
0
0
0
0

