【循环】日记第几天
【题目描述】
小明每天都坚持写日记,突然有一天小明在想,我今年写了多少篇日记了?一篇一篇的数好麻烦,没办法小明只能把这个艰难的问题交给聪明的你来解决。
【输入描述】
输入三个整数y,m,d分别表示年月日,数据均在int范围内。
【输出描述】
输出一个整数,表示这是今年的第几天。
【样例输入】
2018 1 1
【样例输出】
1
【参考答案】
#include<iostream>
using namespace std;
int main(){
int year,month,day;//年月日
cin>>year>>month>>day;
int flag=1; //0表示平年,1表示闰年
int sum=0; //用来记录天数
//判断闰年
if((year%4!=0)||(year%100==0&&year%400!=0)){
flag=0;
}
//从1开始,循环到上一个月份,最后一个月份单独加
for(int i=1;i<month;i++){
if(i==1 || i==3 ||i==5 || i==7 || i==8 || i==10 || i==12){
sum+=31; //1,3,5,7,8,10,12月份加31天
}else if(i==2){
//2月份特判一下
if(flag==1){
sum+=29;
} else{
sum+=28;
}
}else{
//最后如果是其他月份,
sum+=30;
}
}
//最后,单独加一下 day
sum+=day;
cout<<sum<<endl;
return 0;
}扫描二维码推送至手机访问。
版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。
