e700 - 星座
題目描述
題目要求根據輸入的月份和日期,判斷並輸出對應的星座。輸入為多行,每行包含月份和日期,以 / 分隔。
解題思路
此題的解題思路是使用一系列的 if-else if-else 條件判斷語句,根據輸入的月份和日期,判斷其所屬的星座。由於星座的日期範圍是連續的,因此可以通過比較月份和日期來確定星座。程式碼直接根據題目提供的星座日期範圍進行判斷,並輸出對應的星座名稱。
複雜度分析
- 時間複雜度: O(1)
- 空間複雜度: O(1)
程式碼
#include <stdio.h>
int main(){
int m,n;
while(scanf("%d/%d",&m,&n)>0){
if((m==1&&n>=21)||(m==2&&n<=19))
printf("水瓶座\n");
else if((m==2&&n>=20)||(m==3&&n<=20))
printf("雙魚座\n");
else if((m==3&&n>=21)||(m==4&&n<=20))
printf("牡羊座\n");
else if((m==4&&n>=21)||(m==5&&n<=21))
printf("金牛座\n");
else if((m==5&&n>=22)||(m==6&&n<=21))
printf("雙子座\n");
else if((m==6&&n>=22)||(m==7&&n<=22))
printf("巨蟹座\n");
else if((m==7&&n>=23)||(m==8&&n<=21))
printf("獅子座\n");
else if((m==8&&n>=22)||(m==9&&n<=23))
printf("處女座\n");
else if((m==9&&n>=24)||(m==10&&n<=23))
printf("天秤座\n");
else if((m==10&&n>=24)||(m==11&&n<=22))
printf("天蠍座\n");
else if((m==11&&n>=23)||(m==12&&n<=22))
printf("射手座\n");
else
printf("摩羯座\n");
}
}