我希望此代码要求用户输入一年,然后告诉他们是否为闰年。然后问他们是否想再检查一年。目前,它提出第一个问题并回答问题。Scanf和While Loop不等待用户输入
程序然后打印出下一个问题,但不等待输入并退出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
谢谢sjsam。我意识到这一点,我只是匆匆而过,看到我被它消耗掉了! – rayzor