赞
踩
分析:
干支纪年法中天干和地支的搭配可以用右图来表示,因为“天干”有10个,“地支”有12个,从“甲子”开始到“癸酉”,天干已经用完,又从“甲”开始,所以下一个干支纪年是“甲戌由题目给定的2009年是己丑年,可以推算出2004年的天干是甲,那么输入年份year的天干是什么呢?肯定是第(year-2004)%10个
甲、乙、丙、丁、戌、己、庚、辛、壬、癸
0 1 2 3 4 5 6 7 8 9
2004 2009 year
同理,可以推算出2008年的地支是子,输入年份year的地支是第(year-2008)%12个
子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥
A B C D E F G H I J K L
20082009 year
在本题中,用数字字符和字母字符来表示天干和地支,所以求得天干和地支的数值后,分别加上字符'0和字符'A',就可以得到对应天干和地支的字符
注意,本题需要处理多组测试数据,而且是第3种输入情形(在不跳出循环的情况下输出数据)
- #include<iostream>
- using namespace std;
- int main()
- {
- int year;
- char g, b; //年份对应的天干和地支
- while(cin >> year){
- g = (year-2004)%10+'0';
- b = (year-2008)%12+'A';
- cout << g << b << endl;
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。