D8. 题目练习(uva11777)
#include <stdio.h>#include <stdlib.h>int main(){ int t ,i , a , b , c , d ,e , f , g , h , n; scanf("%d",&t); for(i=1;i<=t;i++){ scanf("%d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g); if(f>=e&&e>g){ h=(e+f)/2; } else if(e>=f&&f>g){ h=(e+f)/2; } else if(f>=g&&g>e) { h=(f+g)/2; } else if(g>=f&&f>e) { h=(g+f)/2; } else{ h=(e+g)/2; } n=a+b+c+d+h; if(n>=90) printf("Case %d: A\n",i) ; else if(n<90 && n>=80) printf("Case %d: B\n",i); else if(n<80&&n>=70) printf("Case %d: C\n",i); else if(n<70&&n>=60) printf("Case %d: D\n",i); else if(n<60) printf("Case %d: F\n",i);} return 0;}
我直接用最简单俩俩比较的方法找出较高的两个成绩,虽然程式码会比较长,但是也必较不会出错,但这题还是试了几次才成功,好像是因为用int数值会无条件进位而造成小问题,但最后judge成功了