【循环】日记第几天
【题目描述】
小明每天都坚持写日记,突然有一天小明在想,我今年写了多少篇日记了?一篇一篇的数好麻烦,没办法小明只能把这个艰难的问题交给聪明的你来解决。
【输入描述】
输入三个整数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; }
(adsbygoogle = window.adsbygoogle || []).push({});