输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。
答案:1 悬赏:10
解决时间 2021-02-09 12:41
- 提问者网友:虛偽丶靜
- 2021-02-09 09:04
输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。
最佳答案
- 二级知识专家网友:修女的自白
- 2021-02-09 10:16
你这方法比较麻烦,给你个新方法:代码如下:
#include<iostream>
using namespace std;
unsigned int GetDaysNumInYear(int iYear, unsigned int iMonth, unsigned int iDay);
int main()
{
int year;
unsigned int mon,day;
while(1)
{
cout<<"请输入年、月、日,用空格隔开(如 2010 10 24):";
cin>>year>>mon>>day;
cout<<year<<"年"<<mon<<"月"<<day<<"日是今年的第【"<<GetDaysNumInYear(year,mon,day)<<"】天,"<<endl<<endl;
}
return 0;
}
unsigned int GetDaysNumInYear(int iYear, unsigned int iMonth, unsigned int iDay)
{
//从日期算出距离上一年12月31日的天数
unsigned int nDays=0;
int k=2;
if (iYear%4==0&&iYear%100!=0||iYear%400==0)//仅对年份大于A.D.1582年
{
k=1;
}
nDays=int(275.0*iMonth/9.0)-k*(int((iMonth+9)/12.0))+iDay-30;
return nDays;
}
#include<iostream>
using namespace std;
unsigned int GetDaysNumInYear(int iYear, unsigned int iMonth, unsigned int iDay);
int main()
{
int year;
unsigned int mon,day;
while(1)
{
cout<<"请输入年、月、日,用空格隔开(如 2010 10 24):";
cin>>year>>mon>>day;
cout<<year<<"年"<<mon<<"月"<<day<<"日是今年的第【"<<GetDaysNumInYear(year,mon,day)<<"】天,"<<endl<<endl;
}
return 0;
}
unsigned int GetDaysNumInYear(int iYear, unsigned int iMonth, unsigned int iDay)
{
//从日期算出距离上一年12月31日的天数
unsigned int nDays=0;
int k=2;
if (iYear%4==0&&iYear%100!=0||iYear%400==0)//仅对年份大于A.D.1582年
{
k=1;
}
nDays=int(275.0*iMonth/9.0)-k*(int((iMonth+9)/12.0))+iDay-30;
return nDays;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯