【发布时间】:2016-06-20 02:52:28
【问题描述】:
我希望这段代码让用户输入一年,然后告诉他们是否是闰年。然后问他们是否愿意再检查一年。目前,它会问第一个问题并返回答案。
然后程序打印出下一个问题,但不等待输入并退出 while 循环。我已经在其他帖子上寻找解决方案,并认为我可能拥有它,但它一直在做同样的事情。任何人都可以帮助编写应该是一个程序来编写并打发一些现在已经成为头痛的时间吗?我写过很多更复杂的程序,而这个让我很沮丧。我希望我已经清楚了。非常感激!
//Check if the year is a leap year
#include <stdio.h>
#define YES 1
#define NO 0
void leapyear()
{
int year;
printf("Enter a year: \n");
scanf("%i", &year);
int x = year % 4;
int answer;
if (x == 0)
{
answer = YES;
}
else
{
answer = NO;
}
if (answer == YES)
{
printf("The year %i is a leap year.\n", year);
}
else
printf("The year %i is not a leap year.\n", year);
}
int main (void)
{
char again;
printf("Would you like to check if a year is a leap year? y or n\n");
scanf("%c", &again);
while(again == 'y')
{
leapyear();
printf("Would you like to check if a year is a leap year? y or n\n");
scanf("%c", &again);
}
return 0;
}
【问题讨论】:
-
对了,你的闰年查法不对。
-
感谢 sjsam。我意识到了这一点,我只是匆匆忙忙地冲过去,然后看我被它吞噬了!
标签: c while-loop scanf