爱波音的肥友 2022-03-13 16:05 采纳率: 84.6%
浏览 19
已结题

如何改动程序?(C++)


#include "bits/stdc++.h"
#define N 110
using namespace std;

struct student{
    string name;
    signed int sno;
    signed int Chinese, Maths;
}stu[N];

int main(){
    signed int n, m;
    cin >> n >> m;
    for(signed int i = 0;i < n;i ++){
        cin >> stu[i].name >> stu[i].sno >> stu[i].Chinese >> stu[i].Maths;
    }
    for(signed int i = 0;i < m;i ++){
        string cmd;
        cin >> cmd;
        if(cmd == "name"){
            string na;
            cin >> na;
            for(signed int j = 0;j < n;j ++){
                if(stu[j].name == na){
                    cout << stu[j].Chinese << ' ' << stu[j].Maths << endl;
                }
            }
        }if(cmd == "number"){
            signed int y;
            cin >> y;
            for(signed int j = 0;i < n;j ++){
                if(stu[j].sno == y){
                    double sum = 0.0;
                    sum = stu[j].Chinese + stu[j].Maths;
                    cout << fixed << setprecision(2) << sum / 2.0 << endl;
                }
            }
        }
    }
    return 0;
}

这个程序运行后报“运行时错误”,代码139
该如何处理呀
谢谢

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-03-13 22:51
    关注

    问题出在第32行中: for(signed int j = 0;i < n;j ++) 应修改为:for(signed int j = 0;j < n;j ++) 。中间不是 i < n ,应该是 j < n.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月13日