一个用不到的变量没赋值会改变分数
#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 啊怎么分数有区别