循环-22. 输出闰年

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

输入格式:

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

输出格式:

逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。

输入样例 1:

2048

输出样例 1:

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

输入样例 2:

2000

输出样例 2:

Invalid year!
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <string>
#include <stdlib.h>
int main(){

    int year;
    scanf("%d",&year);
    if(year<=2000||year>2100)
    {
    printf("Invalid year!");
    return 0;
    }
    int i=2001;
    while(i<=year)
    {
    	if((i%4==0&&i%100!=0)||i%400==0)
    	printf("%d\n",i);
    	i++;
    }
    return 0;
}

  

时间: 2024-10-14 03:32:20

循环-22. 输出闰年的相关文章

【C语言】用循环语句输出菱形

//用循环语句输出菱形 #include <stdio.h> int main() { int i,j; for(i=0;i<=3;i++) //上4行 { for(j=0;j<=3;j++) //上4行的左边 { if(i+j<=2) printf(" "); else printf("*"); } for(j=4;j<=6;j++) //上4行的右边 { if(j-i>=4) printf(" ");

22.输出图形

(1) 1 1  2 1  2  3 1  2  3  4 1  2  3  4  5 1  2  3  4  5  6 #include<iostream> #include <iomanip> using namespace std; int main() { for(int i=1;i<=6;i++) { for(int j=1;j<=i;j++) { cout<<setw(2)<<j; } cout<<endl; } retu

while循环同样适用@python for循环内输出和外输出

# 原文: 通过for循环求和,结果发现输出完全不一样,一个循环是输出每一步的结果,另一个循环是输出最终一次的结果,今天终于弄懂了.如下所示: 原文链接:https://blog.csdn.net/elanewow/article/details/81286617 原文地址:https://www.cnblogs.com/qnmtt/p/9568970.html

浙大版《C语言程序设计(第3版)》题目集 练习3-5 输出闰年 (15 分)

练习3-5 输出闰年 (15 分) 输出21世纪中截止某个年份以来的所有闰年年份.注意:闰年的判别条件是该年年份能被4整除但不能被100整除.或者能被400整除. 输入格式: 输入在一行中给出21世纪的某个截止年份. 输出格式: 逐行输出满足条件的所有闰年年份,即每个年份占一行.输入若非21世纪的年份则输出"Invalid year!".若不存在任何闰年,则输出"None". 输入样例1: 2048 输出样例1: 2004 2008 2012 2016 2020 2

php 使用自定义函数 在循环里判断闰年

<?php /** 使用自定义函数 在循环里判断闰年 **/ function is_runnian($year){ //自定义函数 if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) { return true; }else { return false; } } for($year=1500;$year<=2000;$year++) { if(is_runnian($year)) { echo $year.'

循环应用之闰年个数

1.要求 2.分析 .要求 1)计算2000年至今的闰年个数,闰年:条件1.能被4整除但不能被100整除,条件2.如果是100的倍数,必须能被400整除 分析 第1步: 定义int类型变量countYear,初始值为0.用于累计闰年个数. 第2步: 已知循环次数,采用for循环.定义循环变量int year,初始值为2000 ,设置循环条件 year <= 2017,设置增减涨步长为每次year加1 第3步: 编写循环体,如果year%4等于0并且year%100不等于0或year%400等于0

for循环语句输出菱形

1 for(int a = 5; a > 0 ; a--) 2 { 3 for(int b = 1; b <= a; b++) 4 { 5 System.out.print(" "); 6 } 7 for(int c = 5; c >= a; c--) 8 { 9 System.out.print("B"); 10 } 11 System.out.println(""); 12 } 13 14 for(int a = 4; a

为什么循环不能输出??

#include<iostream>#include<vector>using namespace std;struct num{ int number; int times;}; int main(){ int m; cin>>m; vector<int>a; vector<num>b; while(m--) { int n; cin>>n; while(n--) { int x; cin>>x; a.push_back

[c/c++奇技淫巧]不用循环判断输出5到1

偶尔看到的一道题,和哥们几个讨论了一下,这玩意,不是循环就是递归了么,当然,只要达到目的,管他什么循环递归,对吧.现在总结一下我们能想到的所有的方法,大家有新的想法欢迎跟帖讨论~~ ok,开工. 第一条,最简单的,直接输出.(因为输出结果都差不多,就不一个一个截图了) printf("5 4 3 2 1\n"); 第二条,简单的循环.  // for 循环  for(int =5; i !=0; i--) {      printf("%d\n",i);  }