首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言判斷 0~3000 年閏年:互動式輸入與 goto 迴圈

     編輯:關於C語言

程式碼

#include 

int main() {
    int year, leap = 1;
    printf("\t\t\t判斷 0~3000 之間的閏年\n");
    printf("請輸入 0~3000 之間的年份\n");
flag:
    scanf("%d", &year);
    if (year > 0 && year <= 3000) {
        if (year % 4 != 0) leap = 0;
        else if (year % 100 != 0) leap = 1;
        if (year % 400 != 0) leap = 0;
        if (leap) printf("%d is ", year);
        else printf("%d is not ", year);
        printf("a leap year.\n");
        goto flag;
    } else {
        printf("輸入錯誤,請輸入 0~3000 之間的年份\n");
        goto flag;
    }
    return 0;
}

邏輯說明

  1. year%4!=0 → 非閏年。
  2. year%100!=0 → 普通世紀年,能被 4 整除即閏年。
  3. year%400!=0 → 世紀年能被 400 整除才閏年。

順序執行自動覆蓋 leap,最終結果正確。

goto 迴圈

flag: 標籤配合 goto flag 形成無限輸入迴圈。教學示範用,實務建議改用 while(1)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved