c语言pat基础题改错080901L1043

img

img


我的代码出现问题,本题希望可以得到大家的指导,谢谢你的帮助!

供参考:

#include <stdio.h>
#include <string.h>
int b[1005];
int main()
{
    int n;
    scanf("%d", &n);
    int x, y, z;
    char a[5];
    int sum = 0, s = 0;
    memset(b, -1, sizeof(b));
    while (n--) {
        while (1) {
            scanf("%d %s %d:%d", &x, a, &y, &z);
            if (x == 0) {
                memset(b, -1, sizeof(b));
                if (s != 0)
                    printf("%d %0.0f\n", s, (double)sum / s);
                else
                    printf("0 0\n");
                sum = s = 0;
                break;
            }
            else {
                if (a[0] == 'S') {
                    b[x] = y * 60 + z;
                }
                else if (a[0] == 'E' && b[x] != -1) {
                    s++;
                    sum += y * 60 + z - b[x];
                    b[x] = -1;
                }
            }
        }
    }
    return 0;
}

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^