给定一个年份和天数,以YYYY-MM_DD形式输出(注意闰年)2007华科计算机研究生复试上机题)
代码:
#include<iostream>
using namespace std;
int main(){
int y,n,sum=0,i=0,month,day;
int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int b[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
cout<<"输入年份y和天数n:";
cin>>y>>n;
if(y%4==0&&y%100!=0||y%400==0)//判断是否为闰年
for(int j=1;j<=12;j++){
while(n>sum){
sum+=b[++i];
}
month=i;
day=b[i]-(sum-n);
}else{
for(int j=1;j<=12;j++){
while(n>sum){
sum+=a[++i];
}
month=i;
day=a[i]-(sum-n);
}
}
cout<<y/1000<<y/100%10<<y%100/10<<y%10<<"-";
cout<<month/10<<month%10<<"_";
cout<<day/10<<day%10;
}
测试结果: