首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一名初学者妹纸的疑问

2013-06-25 
一名菜鸟妹纸的疑问#include stdio.hvoid main (){char yearprintf(please input a year number!)ye

一名菜鸟妹纸的疑问
#include <stdio.h>
void main ()
{
char year;
printf("please input a year number!");
year=getchar();//或为scanf("%d",&year);
if(year<1000||year>=10000) 
printf("please print a correct year!");
else
if((year%4==0&&year%100!=0)||(year%400==0)) 
printf("this year is a leap year!");
else
printf("This year is a common year!");
}



网上说当判断的变量是字符串的时候可以用getchar()从键盘读入,为什么上面的例子里,当测试用例为1000是不能判断为闰年呢,而是输出错误的信息哈~
[解决办法]
if((year%4==0&&year%100!=0)
[解决办法]
(year%400==0)) 
如果year除4的余數為0且除100的余數不為0 或 year除400的余數為0
1000被100除得盡且不被400除得盡
所以輸出This year is a common year!

热点排行