- 谁拿了最多奖学金
- 2015-09-15 19:55:44 @
洛谷上AC程序这里WA鸭蛋想想也是醉了。。。
3 条评论
-
贱人在我右边 LV 9 @ 2016-12-17 13:29:10
就是
-
2016-11-11 17:13:22@
ee
-
2015-09-16 03:22:10@
您的代码,在本地用cena评测也是错误的。我自己手动跑也是错误的,样例都过不去。
请参考下述修改意见,注意c1[]和c2[]的大小,若只开到c1[2]和c2[2]是错误的,会越界,进而对其它变量产生影响。
#include<stdio.h>
#include<string.h>
int main()
{
int n, max = 0, allall = 0;
char ss[20];
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
char s[20], c1[4], c2[4];
int a = 0, b = 0, d = 0, all = 0;
memset(s, 0, sizeof(a));
memset(c1, 0, sizeof(a));
memset(c2, 0, sizeof(a));
scanf("%s%d%d%s%s%d", s, &a, &b, c1, c2, &d);
if (a > 80 && d >= 1) all += 8000;
if (a > 85 && b > 80) all += 4000;
if (a > 90) all += 2000;
if (a > 85 && c2[0] == 89) all += 1000;
if (b > 80 && c1[0] == 89) all += 850;
allall += all;
if (all > max)
{
memset(ss, 0, sizeof(a));
strcpy(ss, s);
max = all;
}
}
printf("%s\n%d\n%d\n", ss, max, allall);
return 0;
}
- 1