辛巳蛇宝男
任务描述
2001年01月24日是农历辛巳蛇年的春节(大年初一),2002年02月11日是辛巳蛇年的除夕。赵中瑞的生日是2002年01月07日,所以我们称他为“辛巳蛇宝男”,赵中瑞想知道还有谁和他一样是“辛巳蛇宝男”,你帮他找出来。(不允许用if语句和switch语句)(提示:使用条件运算符 ? : )
输入格式:
一行中给出一个中华人民共和国的二代身份证号和姓名,中间没有空格。注意:身份证号倒数第2位若为奇数则为男生,若为偶数则为女生,你知道吗?
输出格式:
若是“辛巳蛇宝男”则输出:YES,否则输出:NO。
输入示例1
为保密,样例中的身份证号前6位统一设为239999。
239999200003132617于龙
输出示例1
NO
输入示例2
239999200201210017刘哲
输出示例2
YES
代码
#include <stdio.h>int main() {int year, month, day,gender;int a;char name[50];// 读取身份证号中的年月日scanf("%*6c%4d%2d%2d%*2c%1d%*1c%s", &year, &month, &day,&gender,name); //*表示跳过读取的内容而不进行赋值gender=gender%2;//身份证号倒数第2位若为奇数则为男生,若为偶数则为女生// 判断是否为辛巳蛇宝男a = ((year == 2001 && month == 1 && day >= 24) || (year == 2001 && month > 1) ||(year == 2002 && month < 2) || (year == 2002 && month == 2 && day <= 11));// 输出结果printf("%s",(a && gender) ? "YES" : "NO");return 0;
}