问题标题: 酷町堂:1765 统计获奖人数(10)分,请各位侠客找找问题!!

0
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;
 } 

http://judge.codingtang.com/problem/1765/


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
杨陈卓
杨陈卓
新手天翼
新手天翼

核心

    for(i=1;i<=n;i++){

        for(j=1;j<=3;j++){

            cin>>a[i][j];

        }

    }

    for(i=1;i<=n;i++){

        a1=a1+a[i][1];

        a2=a2+a[i][2];

        a3=a3+a[i][3];

    }

    s=a1+a2+a3;

    cout<<a1<<" "<<a2<<" "<<a3<<" "<<s<<"\n";

 

我要回答