题目是输入一个年份和天数,求出在这一年的几月几日
#include<iostream>usingnamespacestd;intmain(){intyear,day,yue,i;intmonth[12];cout<<"输...
#include<iostream>
using namespace std;
int main(){
int year,day,yue,i;
int month[12];
cout<<"输入年份"<<endl;
cin>>year;
if(year%4==0&&year%100!=0||year%400==0)
int month[]={31,29,31,30,31,30,31,31,30,31,30,31};
else int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"输入天数"<<endl;
cin>>day;
i=0;
do{
day=day-month[i];
i++;
}while(day>=month[i]);
if(day==0){day=month[i-1];yue=i;}
else yue=i+1;
cout<<"在该年的"<<yue<<"月"<<day<<"日"<<endl;
getchar();
getchar();
getchar();
getchar();
return 0;
} 展开
using namespace std;
int main(){
int year,day,yue,i;
int month[12];
cout<<"输入年份"<<endl;
cin>>year;
if(year%4==0&&year%100!=0||year%400==0)
int month[]={31,29,31,30,31,30,31,31,30,31,30,31};
else int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"输入天数"<<endl;
cin>>day;
i=0;
do{
day=day-month[i];
i++;
}while(day>=month[i]);
if(day==0){day=month[i-1];yue=i;}
else yue=i+1;
cout<<"在该年的"<<yue<<"月"<<day<<"日"<<endl;
getchar();
getchar();
getchar();
getchar();
return 0;
} 展开
3个回答
展开全部
告诉年份是用于判断是否是闰年.,判断清楚了根据月份天数特点就可以算出来是几月几日了。
判断闰年方法如下(复杂的精确计算方法):
①、普通年能被4整除且不能被100整除的为闰年.(如2004年就是闰年,1901年不是闰年) ②、世纪年能被400整除的是闰年.(如2000年是闰年,1900年不是闰年)
③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年.如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)(此按一回归年365天5h48'45.5''计算).
判定公历闰年遵循的一般规律为:四年一闰,百年不闰,四百年再闰.
判断闰年方法如下(复杂的精确计算方法):
①、普通年能被4整除且不能被100整除的为闰年.(如2004年就是闰年,1901年不是闰年) ②、世纪年能被400整除的是闰年.(如2000年是闰年,1900年不是闰年)
③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年.如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)(此按一回归年365天5h48'45.5''计算).
判定公历闰年遵循的一般规律为:四年一闰,百年不闰,四百年再闰.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int monthday1[]={31,29,31,30,31,30,31,31,30,31,30,31};
int monthday2[]={31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
int year,day,yue,i;
int month[12];
cout<<"输入年份"<<endl;
cin>>year;
if(year%4==0&&year%100!=0||year%400==0){
#define month monthday1
}
else{
#define month monthday2
}
cout<<"输入天数"<<endl;
cin>>day;
i=0;
do{
day=day-month[i];
i++;
}while(day>=month[i]);
if(day<0) day=month[i]+day;
else if(day==0){day=month[i-1];yue=i;}
else yue=i+1;
cout<<"在该年的"<<yue<<"月"<<day<<"日"<<endl;
getchar();
getchar();
getchar();
getchar();
return 0;
}
using namespace std;
int monthday1[]={31,29,31,30,31,30,31,31,30,31,30,31};
int monthday2[]={31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
int year,day,yue,i;
int month[12];
cout<<"输入年份"<<endl;
cin>>year;
if(year%4==0&&year%100!=0||year%400==0){
#define month monthday1
}
else{
#define month monthday2
}
cout<<"输入天数"<<endl;
cin>>day;
i=0;
do{
day=day-month[i];
i++;
}while(day>=month[i]);
if(day<0) day=month[i]+day;
else if(day==0){day=month[i-1];yue=i;}
else yue=i+1;
cout<<"在该年的"<<yue<<"月"<<day<<"日"<<endl;
getchar();
getchar();
getchar();
getchar();
return 0;
}
追问
请问我错在哪里了啊我的为什么是错的
追答
if(day<0) 你考虑没有!!! 一般不在if语句里定义数组,要定义的话也该加 { }。 自己列出一批测试数据,先算出结果。不少于2组,全部通过才是对的。 你再调试下吧~~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主想问什么?说清楚点?。。。
追问
就是题目是要输入以个年份和那年的天数算出来在这一年是几月几日,我写的代码有问题帮忙改下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询