首先根据身份证号截取出生年份。12年为1个周期,出生年份除以12的余数就是生肖数组的索引。(以2008年鼠年为起点)
输入
身份证号
输出
生肖
#include <iostream>
#include <string>
using namespace std;
int main() {
//模拟的身份证号
string card = "112044165412202434";
int birthYear = stoi(card.substr(6, 4));
string animals[] = { "子鼠","丑牛","寅虎","卯兔" ,
"辰龙","巳蛇","午马","未羊" ,
"申猴","酉鸡","戊狗","亥猪" };
int offset;
if (birthYear > 2008) {
offset = (birthYear - 2008) % 12;
}
else {
offset = ( 2008- birthYear) % 12;
}
cout << animals[offset] << endl;
return 0;
}