【題解】Zerojudge e700 - 星座

題目大意

給定日期,請輸出對應的星座。

題解

將日期轉換成 $100 * \text{月份} + {日期}$ 後檢查就簡單很多。以 $1/31$ 為範例,經過轉換後會變成 $131$。實作的部分要記得輸入是以 EOF 結束。
#include <stdio.h>
#include <stdlib.h>

/*
水瓶座	1/21 ~ 2/19
雙魚座	2/20 ~ 3/20
牡羊座	3/21 ~ 4/20
金牛座	4/21 ~ 5/21
雙子座	5/22 ~ 6/21
巨蟹座	6/22 ~ 7/22
獅子座	7/23 ~ 8/21
處女座	8/22 ~ 9/23
天秤座	9/24 ~ 10/23
天蠍座	10/24 ~ 11/22
射手座	11/23 ~ 12/22
摩羯座	12/23 ~ 1/20
*/

int month, date;
char z;

void constellation(int);

int main(void) {
	while(scanf("%d%c%d", &month, &z, &date) != EOF) {
		constellation(month * 100 + date);
	}
	return 0;
}

void constellation(int d) {
	if(d >= 121 && d <= 219) {
		printf("水瓶座\n");
		return ;
	}
	if(d >= 220 && d <= 320) {
		printf("雙魚座\n");
		return ;
	}
	if(d >= 321 && d <= 420) {
		printf("牡羊座\n");
		return ;
	}
	if(d >= 421 && d <= 521) {
		printf("金牛座\n");
		return ;
	}
	if(d >= 522 && d <= 621) {
		printf("雙子座\n");
		return ;
	}
	if(d >= 622 && d <= 722) {
		printf("巨蟹座\n");
		return ;
	}
	if(d >= 723 && d <= 821) {
		printf("獅子座\n");
		return ;
	}
	if(d >= 822 && d <= 923) {
		printf("處女座\n");
		return ;
	}
	if(d >= 924 && d <= 1023) {
		printf("天秤座\n");
		return ;
	}
	if(d >= 1024 && d <= 1122) {
		printf("天蠍座\n");
		return ;
	}
	if(d >= 1123 && d <= 1222) {
		printf("射手座\n");
		return ;
	}
	printf("摩羯座\n");
	return ;
}

如果本文對您有幫助的話幫忙點擊廣告和分享吧!

© 若無特別註明,本站文章皆由 WeakMouse's Coding Blog 原創 ,轉載引用本文前請先留言告知。本文轉載請註明文章源自 WeakMouse's Coding Blog ,作者 ,並附上原文連結: 【題解】Zerojudge e700 - 星座

張貼留言

0 留言