题目内容:
从键盘任意输入一个公元年份(大于等于1),判断它是否是闰年。若是闰年输出“Yes”,否则输出“No”。要求对输入数据进行合法性判断。
已知符合下列条件之一者是闰年:
(1)能被4整除,但不能被100整除;
(2)能被400整除。
运行结果示例1:
2015↙
No
运行结果示例2:
2016↙
Yes
运行结果示例3:
-123↙
Input error!
运行结果示例4:
a↙
Input error!
输入格式: “%d”
输出格式:
是闰年,输出:”Yes\n”
不是闰年,输出:”No\n”
输入数据不合法,输出:”Input error!\n”
考虑使用头文件’ctype.h’
#include <stdio.h>
int main()
{
int year=0;
if(scanf("%d",&year)!=1) printf("Input error!\n");
else
{
if(year < 0)
printf("Input error!\n");
else
(((year % 4 == 0)&&(year % 100 != 0)) || (year % 400 == 0)) ? printf("Yes\n") : printf("No\n");
}
}
scanf()函数返回成功赋值的数据项数,读到文件末尾时则返回EOF读入文件错误时,返回 0。