永发信息网

题目是输入一个年份和天数,求出在这一年的几月几日

答案:3  悬赏:60  手机版
解决时间 2021-03-11 07:05
#include
using namespace std;

int main(){
int year,day,yue,i;
int month[12];

cout<<"输入年份"<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<<"输入天数"<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<<"在该年的"<getchar();
getchar();
getchar();
getchar();
return 0;
}
最佳答案
告诉年份是用于判断是否是闰年.,判断清楚了根据月份天数特点就可以算出来是几月几日了。
判断闰年方法如下(复杂的精确计算方法):
①、普通年能被4整除且不能被100整除的为闰年.(如2004年就是闰年,1901年不是闰年) ②、世纪年能被400整除的是闰年.(如2000年是闰年,1900年不是闰年)
③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年.如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)(此按一回归年365天5h48'45.5''计算).
判定公历闰年遵循的一般规律为:四年一闰,百年不闰,四百年再闰.
全部回答
楼上的写错了,怎么不改了呢? 我写了个: #include void main() { int day_s[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int days,year,month,day,i; printf("请输入年份和天数:"); scanf("%d%d",&year,&days); if(year%4==0 && year%100!=0 ||year%400==0) { day_s[2]=29; } day=1; month=1; for(i=1;i{ if(days{ day=days; break; } days-=day_s[i]; month++; } printf("日期:%d年%d月%d日\n",year,month,day); }
#include 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<<"输入年份"<>year; if(year%4==0&&year%100!=0||year%400==0){ #define month monthday1 } else{ #define month monthday2 } cout<<"输入天数"<>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<<"在该年的"<
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯