问题标题: 1765 统计获奖人数

0
0
已解决
马佳滢
马佳滢
新手天翼
新手天翼

怎么错了?谢谢Thanks♪(・ω・)ノ!

#include <iostream>
using namespace std;
int main(){
    int a[11][4],n,i,j,a1=0,a2=0,a3=0,s;
    cin>>n;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;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";
    return 0;
}

题目描述 Description

合肥市信息学竞赛由各个区的各个学校派学生参加,假设包河区有n所学校,在信息学竞赛中可以获得的奖项为一等奖、二等奖和三等奖,现在需要统计包河区获得一、二、三等奖的人数和总获奖人数。

输入描述 Input Description

n+1行
第1行是包河区参加比赛的学校数量n(0<n<=10)
其后n行,每一行是包河区某一学校获得的一、二、三等奖数量,以一个空格分开。

输出描述 Output Description

输出仅1行,包括4个整数,包河区获得的一、二、三等奖的人数和总获奖人数,以一个空格分开。


0
已采纳
陆麟瑞
陆麟瑞
资深天翼
资深天翼

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

改为

for(j=1;j<=3;j++){
0
王梓澳
王梓澳
中级光能
中级光能

@马佳滢 你好!

for(i=1;i<=n;i++){
        for(j=1;j<=n;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];
    }

改为

for (int i=0;i<=n-1;i++)
    {
        int d,e,f;
        cin>>d>>e>>f;
        a+=d;
        b+=e;
        c+=f;
    }

就可以了

0
何楷睿
何楷睿
高级守护
高级守护
 

 

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

 

for(j=1;j<=n;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];

 

}

改为

 

 

for (int i=0;i<=n-1;i++)

 

{

 

int d,e,f;

 

cin>>d>>e>>f;

 

a+=d;

 

b+=e;

 

c+=f;

 

}

0
0
陶梓锐
陶梓锐
新手光能
新手光能

for(j=1; j<=n; j++) { (错了)

改成:

for(j=1; j<=3; j++) { 就可以了
0
朱宗晔
朱宗晔
初级光能
初级光能

核心部分 

for(int i = 1;i <= n;i ++){
        for(int j = 1;j <= 3;j ++){
            if(j == 1){
                yi += a[i][j];
                sum += a[i][j];
            }
            if(j == 2){
                er += a[i][j];
                sum += a[i][j];
            }
            if(j == 3){
                san += a[i][j];
                sum += a[i][j];
            }
        }
    } 

yi = 一等奖

er = 二等奖

san = 三等奖

sum = 得奖的总数

0
0
苏严池
苏严池
修练者
修练者
  int a[11][4],n,i,j,a1=0,a2=0,a3=0,s;
    cin>>n;
    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;
    return 0;

加油

0
被禁言 许正全
许正全
初级守护
初级守护

你的二维数组的输入不对,

for(i=1;i<=n;i++){
 这里错了————》》》》》》 for(j=1;j<=n;j++){
            cin>>a[i][j];
        }

每行输入3列,不是n列

 

我要回答