#include<stdio.h>#include<stdbool.h>#include<iostream>#include<algorithm>usingnamespace std;boolIsLeap(int year){bool flag =false;if(year %400==0|| year %4==0&& year %100!=0)
flag =true;return flag;}intmain(){int y, m, d;int sum =0;//记录总的天数
cin >> y >> m >> d;while(y <1|| y>3000)
cin >> y;while(m <1|| m>12)
cin >> m;while(d <1|| d>31)
cin >> d;int mday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};if(IsLeap(y))
mday[2]=29;for(int i =0; i < m; i++)
sum += mday[i];
sum += d;
cout << sum<< endl;system("pause");return0;}
例题二:给定年份和第几天,判断几月几日。
#include<stdbool.h>#include<iostream>#include<algorithm>usingnamespace std;boolIsLeap(int year){bool flag =false;if(year %400==0|| year %4==0&& year %100!=0)
flag =true;return flag;}intmain(){int y,sum;
cin >> y >>sum;while(y <1)
cin >> y;int mday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};if(IsLeap(y))
mday[2]=29;int m =1;//月份while(sum > mday[m]){
sum -= mday[m];
m++;}printf("%04d-%02d-%02d", y,m,sum);system("pause");return0;}