C语言 PTA练习3-5 输出闰年


前言

21世纪指的是2001年到2100年即[2001,2100]!!我们在写该问题代码的时候,21世纪是哪年到哪年这个常识十分的重要。


一、题目要求

输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。

输入格式:
输入在一行中给出21世纪的某个截止年份。

输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。

输入样例1:
2048
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048
输入样例2:
2000
输出样例2:
Invalid year!

二、代码

1.代码的实现

	/*输出21世纪中截止某个年份以来的所有闰年年份。
	注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。*/
	#include<stdio.h>
	int main()
	{
	    int i=0;
	    int n;
	    int flag=0;
	    scanf("%d",&n);
	    if(n<=2000||n>2100){
	    	printf("Invalid year!");
	    	return 0;
		}
	    for(i=2001;i<=n;i++)
	        if((i%4==0&&i%100!=0)||i%400==0){
	            printf("%d\n",i);
	            flag=1;
	        }
	if(flag==0)
	    printf("None");
	    return 0;
	}

2.读入数据

2048//输入2048
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048



2000//输入2000由于2000不属于21世纪所以输出invalid year!
Invalid year!


2002//输入2002由于2001到2002年之间没有闰年所以输出None
None

总结

本题最重要的是常识的考察,21世纪指的是[2001,2100]!!请同学们记牢这个常识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值