用结构体做
#include<stdio.h> typedef struct { char brand[102]; int price ,v,day; double f; }node; int main() { node a[105]; int n,t,i,j,max; double min; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { getchar(); scanf("%s %d%d",a[i].brand,&a[i].price,&a[i].v); a[i].day=a[i].v/200; if(a[i].day>5)//注意这个牛奶的天数不超过5天,超过的不会喝,但是价格按5天来算 a[i].day=5; a[i].f=a[i].price*1.0/a[i].day;//这是算牛奶的单价,也就是便宜的问题 } j=0; min=a[0].f; max=a[0].v; for(i=1;i<n;i++) if(min>a[i].f) { min=a[i].f; j=i; } else if(min==a[i].f&&max<a[i].v) { j=i;max=a[i].v; } printf("%s\n",a[j].brand); } return 0; }