我希望此代碼要求用戶輸入一年,然後告訴他們是否爲閏年。然後問他們是否想再檢查一年。目前,它提出第一個問題並回答問題。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