#2583: 不知道錯哪裡(WA line 21)


so3651197 (so36)

學校 : 國立彰化高級中學
編號 : 8453
來源 : [140.113.91.25]
最後登入時間 :
2014-05-08 12:42:22
d466. 今天是第幾天呢 -- 麗山高中迴圈36題 | From: [122.117.86.87] | 發表日期 : 2009-11-01 20:07

程式碼:

#include <iostream>
using namespace std;

int main()
{
   int a,b,c,sum=0,day,t,n;     
   while (cin>>a>>b>>c)
   {
      n=1;
      day=c;
      while(a<0,b<0,c<0)
      cout<<"Error"<<endl;          
     
      if((b>=2)&&(a>0))
      {
         if(a==0)
         {
            c=c+1;
            t=1;
         }
         else if (a%400==0)
         {
            c=c+1;
            t=1;
         }
         else if (a%100==0)
         {
            c=c;
            t=0;
         }
         else if (a%4==0)
         {
            c=c+1;
            t=1;
         }
         else
         {
            c=c;
            t=0;
         }
      }
      while(n--)
      {     
         if(b>12)
         cout<<"Error"<<endl;
         else if(((b==1)||(b==3)||(b==5)||(b==7)||(b==8)||(b==10)||(b==12))&&(day>31))
         cout<<"Error"<<endl;
         else if(((b==4)||(b==6)||(b==9)||(b==11))&&(day>30))
         cout<<"Error"<<endl;
         else if(b==2)
         {    
            if((t==1)&&(day>29))
            cout<<"Error"<<endl;
            else if((t==0)&&(day>28))
            cout<<"Error"<<endl;
            else if((t==0)&&(day<=28))
            cout<<"It is "<<c+31<<" days in "<<a<<endl;
            else if((t==1)&&(day<=29))
            cout<<"It is "<<c+30<<" days in "<<a<<endl;
         }
         else
         {
            switch(b)
            {
               case 1:
                  sum=c; break;
               case 3:
                  sum=59+c; break;
               case 4:
                  sum=90+c; break;
               case 5:
                  sum=120+c; break;
               case 6:
                  sum=151+c; break;
               case 7:
                  sum=181+c; break;
               case 8:
                  sum=212+c; break;
               case 9:
                  sum=243+c; break;
               case 10:
                  sum=273+c; break;
               case 11:
                  sum=304+c; break;
               case 12:
                  sum=334+c; break;        
            } 
            
            if(sum==1)
            cout<<"It is "<<sum<<" day in "<<a<<endl;
            else
            cout<<"It is "<<sum<<" days in "<<a<<endl;
         }
      } 
   }
  
   //system("pause");
   return 0;
}

 

不知道問題出哪裡...

煩請各位解答 謝~

 
ZeroJudge Forum