洛谷P5737 【深基7.例3】闰年展示

请同学们在看完重点知识之后先自己思考再看代码,建议先自己尝试,不行再看参考代码

基础知识
1.函数的基本结构:
函数类型 函数名(参数列表){
函数主体,函数在return语句终止,void类型的函数可以不return,也可以写"return ;"这么一句话
}

2.函数的调用:
函数名(参数)进行使用,参数和参数列表对应
常识 常识 :百年是400的倍数才是闰年,如1900年不是闰年
小技巧
小技巧:
可以使用一个空数组和一个累加的变量来存储新产生的数据。
例如:

声明: int new_num[10000], num_cnt;
存储新产生的数: new_num[++num_cnt] = 新产生的数;
遍历所有新产生的数:
 for(int i = 1; i <= num_cnt; ++i){
    printf("%d\n",new_num[i]);
 }
代码展示
#include<bits/stdc++.h>
using namespace std;
//使用judge函数判断一个年份是不是闰年
//函数类型:bool 函数名:judge 参数列表:int num 是闰年返回1(true)不是闰年返回0(false)
bool judge(int num){
    if(num % 100 == 0){ //先判断是不是百年
        if(num % 400 == 0) return true; //百年需要模400等于0才是闰年
        else return false;
    }else{
        if(num % 4 == 0) return true; //不是百年只需要模4等于0
        else return false;
    }
}
int num[10000], cnt;
int main()
{
    int x,y; scanf("%d%d",&x,&y);
    for(int i = x; i <= y; ++i){//遍历x到y的所有年份
        if(judge(i)){ //判断年份i是不是闰年
            num[++cnt] = i; //是的情况下使用小技巧将其存储
        }
    }
    cout<<cnt<<endl;
    //使用技巧输出
    for(int i = 1; i <= cnt; ++i){
        if(i != 1) cout<<" ";
        cout<<num[i];
    }cout<<endl;
    return 0;
}

本文作者:a_night

本文链接:https://www.cnblogs.com/a-night/p/16216714.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   a_night  阅读(180)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起