苏莫婷 2020-11-30 22:23 采纳率: 50%
浏览 2

VS2019,希望大佬能帮忙看一下哪里错了?

#include <cstdio>
#include <string.h>
#include <algorithm>
using namespace std;
struct Student
{
    char id[100];
    int score;
    int r;
    int sr;
}S[100];
bool cmp(Student a, Student b)
{
    if (a.score != b.score)
        return a.score > b.score;
    else
        return strcmp(a.id, b.id) < 0;
}
int main()
{
    int n, num = 0;
    scanf_s("%d", &n);
    for (int i = 0; i < n; i++)
    {
        int k;
        scanf_s("%d", &k);
        num += k;
        for (int j = num - k; j < num; j++)
        {
            scanf_s("%s %d",S[j].id, &S[j].score);
        }
        sort(S + num - k, S + num, cmp);
        S[num - k].r = 1;
        for (int j = num - k + 1; j < num; j++)
        {
            if (S[j].score == S[j - 1].score)
            {
                S[j].r = S[j - 1].r;
            }
            else
            {
                S[j].r = j + 1 - (num - k);
            }
        }
    }
    sort(S, S + num, cmp);
    S[0].sr = 1;
    for (int i = 1; i < num; i++)
    {
        if (S[i].score == S[i - 1].score)
        {
            S[i].sr = S[i - 1].sr;
        }
        else
        {
            S[i].sr = i + 1;
        }
    }
    for (int i = 0; i < num; i++)
    {
        printf("%s %d %d %d\n", S[i].id, S[i].score, S[i].r, S[i].sr);
    }
    return 0;
}

引发的异常: 0xC0000005: 写入位置 0x00D70000 时发生访问冲突,

输入数据后就会这样

 

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 15:35
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥50 这Mac系统提示虚拟内存不足,怎么解决
  • ¥15 Rs232电路无法收发数据,求帮助
  • ¥15 百度cookie扫码登录器
  • ¥15 微机原理汇编语言debug调试实验
  • ¥23 matlab可以把相图转换为庞加莱映射吗
  • ¥20 有偿,学生成绩信息管理系统
  • ¥15 Arduino电机和openmv连接异常
  • ¥15 Arcgis河网分级报错
  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本