#4863: 就救我


ivanlion9911129 (~蒼帆寰戒~)


#include<stdio.h>
struct data
{
 long long int  s;
 char c;
}d[3],t;
int main()
{
 int i,j=0;
 while(scanf("%lld%lld%lld",&d[0].s,&d[1].s,&d[2].s)==3)
 {
   
   for(i=0;i<3;i++) d[i].c='A'+i;
   for(i=0;i<3;i++)
    if(d[i].s>d[i+1].s) {t=d[i];d[i]=d[i+1];d[i+1]=t;}
   if(d[0].s>d[1].s){t=d[0];d[0]=d[1];d[1]=t;}
   if(d[0].s+d[1].s>d[2].s)
    printf("%c\n",d[1].c);
   else printf("%c\n",d[2].c);
 }return 0;
}
我在家裡測的時候line1是C

可是送上去測的時候顯示的B

這可能是甚麼原因呢

PS:第一組測資好像是1 1 3

 

#4871: Re:就救我


snail (蝸牛)


   for(i=0;i<3;i++)
    if(d[i].s>d[i+1].s) {t=d[i];d[i]=d[i+1];d[i+1]=t;}

d[i+1] 的足標會超出範圍哦!