简单枚举
#include <stdio.h>
struct node{
int a, b, c, sum;
char name[11];
} a[55], t;
int main()
{
freopen("result.txt", "w", stdout);
int i = 1;
while(~scanf("%s%d%d%d", &a[i].name, &a[i].a, &a[i].b, &a[i].c))
{
a[i].sum = a[i].a + a[i].b + a[i].c;
i++;
}
int N = i - 1;
for(int i = 1; i <= N; i++)
{
for(int j = 1; j <= N - i; j++)
{
if(a[j].sum > a[j + 1].sum)
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
printf(" Name English Math C Total\n");
for(int i = 1; i <= N; i++)
printf("%12s%12d%12d%12d%12d\n", a[i].name, a[i].a, a[i].b, a[i].c, a[i].sum);
fclose(stdout);
return 0;
}
#include <stdio.h>
struct node{
int s1, s2, s3;
char no[6], name[11];
}a[11];
int n, maxs, maxn;
int main()
{
scanf("%d", &n);
for(int i = 1; i <= n; i++)
{
scanf("%s%s%d%d%d", &a[i].no, &a[i].name, &a[i].s1, &a[i].s2, &a[i].s3);
if(a[i].s1+a[i].s2+a[i].s3 > maxs)
{
maxs = a[i].s1+a[i].s2+a[i].s3;
maxn = i;
}
}
printf("%s %s %d", a[maxn].name, a[maxn].no, maxs);
return 0;
}
#include <stdio.h>
int main()
{
int y, m, d, ans;
scanf("%d%d%d", &y, &m, &d);
switch(m)
{
case 1: ans = 0; break;
case 2: ans = 31; break;
case 3: ans = 31+28; break;
case 4: ans = 31+28+31; break;
case 5: ans = 31+28+31+30; break;
case 6: ans = 31+28+31+30+31; break;
case 7: ans = 31+28+31+30+31+30; break;
case 8: ans = 31+28+31+30+31+30+31; break;
case 9: ans = 31+28+31+30+31+30+31+31; break;
case 10: ans = 31+28+31+30+31+30+31+31+30; break;
case 11: ans = 31+28+31+30+31+30+31+31+30+31; break;
case 12: ans = 31+28+31+30+31+30+31+31+30+31+30; break;
}
ans += d;
if(m > 2)
{
if(y%400 == 0)
{
printf("%d", ans+1);
return 0;
}
if(y%100 != 0 && y%4 == 0)
{
printf("%d", ans+1);
return 0;
}
printf("%d", ans);
return 0;
}
else
{
printf("%d", ans);
return 0;
}
return 0;
}