24h購物| | PChome| 登入
2009-01-10 21:47:54| 人氣1,007| 回應0 | 上一篇 | 下一篇

ACM 11219 How old are you?"

推薦 0 收藏 0 轉貼0 訂閱站台

本題採用條件運算子,可減少程式碼長度。但是要理解不容易!

/**********************************************************/

  1. #include<stdio.h>         
  2. #include<stdlib.h>      
  3. #include<string.h>      
  4. main()      
  5. {      
  6.  int a,b,dd,dd1,mm,mm1,yyyy,yyyy1,flag;      
  7.  int x;      
  8.  while(scanf("%d",&a)==1)      
  9.   {      
  10.    printf("\n");flag=0;      
  11.    for(b=1;b<=a;b++)      
  12.     {      
  13.     flag=0;      
  14.     scanf("%d/%d/%d",&dd,&mm,&yyyy);  /*現在*/     
  15.     scanf("%d/%d/%d",&dd1,&mm1,&yyyy1); /*出生*/     
  16.     printf("Case #%d: ",b);      
  17.     x=yyyy-yyyy1-(mm1>mm)-(mm1==mm&&dd1>dd);   
  18.     if(x<0)      
  19.     {printf("Invalid birth date\n");}      
  20.     else if(x>130)      
  21.     {printf("Check birth date\n");}      
  22.     else  
  23.      printf("%d",x);   
  24.      printf("\n");      
  25.     }      
  26.   }         
  27.  return 0;           
  28. } 

台長: 來源不明
人氣(1,007) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 10070 Leap Year or Not Leap Year and ...
此分類上一篇:ACM 900 900 - Brick Wall Patterns

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文