太奇怪了
查看原帖
太奇怪了
1146285
lly0329楼主2023/11/17 22:47

一个用不到的变量没赋值会改变分数

#include<stdio.h>

int main() {
    int n, k, i;
    scanf("%d %d", &n, &k);

    int a[5000];
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }

    for (i = 1; i <= k; i++) {
        int min = a[0], min_index = 0;
        for (int j = 1; j < n; j++) {
            if (a[j] < min) {
                min = a[j];
                min_index = j;
            }
        }
        a[min_index] = 100000000;
    }

    int min = a[0];
    int min_index=0;
    for (i = 1; i < n; i++) {
        if (a[i] < min) {
            min = a[i];
        }
    }

    printf("%d", min);

    return 0;
}

这个能有20分

#include<stdio.h>

int main() {
    int n, k, i;
    scanf("%d %d", &n, &k);

    int a[4999];
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }

    for (i = 1; i <= k; i++) {
        int min = a[0], min_index = 0;
        for (int j = 1; j < n; j++) {
            if (a[j] < min) {
                min = a[j];
                min_index = j;
            }
        }
        a[min_index] = 100000000;
    }

    int min = a[0];
    //int min_index=0;
    for (i = 1; i < n; i++) {
        if (a[i] < min) {
            min = a[i];
        }
    }

    printf("%d", min);

    return 0;
}

注释掉24行变成0分,我看后面也没用到min_index 啊怎么分数有区别

2023/11/17 22:47
加载中...