洛谷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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步