浙江大学「C言語プログラミング(第3版)」のタイトルセットの演習3-5

演習3-5飛躍年の成果(15ポイント)

21世紀のある年の終わりからのすべての飛躍年を出力します。注:飛躍年の判断条件は、年を4で割り切れるが、100または400で割り切れないことです。
入力形式:

21世紀の特定のカットオフ年を1行で入力します。
出力形式:
条件を満たすすべての飛躍年を1行ずつ出力します。つまり、毎年1行を占めます。21世紀以外の年を入力した場合は、「無効年!」と出力してください。飛躍年がない場合は「なし」を出力します。
入力例1:
2048
出力例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
入力例2:
2000
出力例2:
無効な年!
著者
Chen Jianhai
Unit
ZhejiangUniversity
コード長制限

16KB
制限時間
400 ms
メモリ制限
64MB

#include <stdio.h>


int main(void) {
    
    
    int year = 0;
    int count = 0;
    if (scanf("%d", &year) == 1) {
    
    
        if (2000 < year && year <= 2100) {
    
    
            for (int i = 2001; i <= year; i++) {
    
    
                if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
    
    
                    printf("%d\n", i);
                    count++;
                }
            }
        } else {
    
    
            printf("Invalid year!");
        }
        if (count == 0 && 2000 < year && year < 2100) {
    
    
            printf("None");
        }
    }
    return 0;
}

おすすめ

転載: blog.csdn.net/DoMoreSpeakLess/article/details/109348285