c++ 输入某年某月某日,输出这天在这一年是第几天 例如,2009.2.3 是第34天 30

 我来答
萢萢i3
2015-10-18 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:71%
帮助的人:4651万
展开全部

参考代码:

#include <iostream>
using namespace std;

struct d
{
int day, month, year;
}a;

int sum(d &a)
{
int i;
switch (a.month)
{
case 1:i=0;break;
case 2:i=31;break;
case 3:i=59;break;
case 4:i=90;break;
case 5:i=120;break;
case 6:i=151;break;
case 7:i=181;break;
case 8:i=212;break;
case 9:i=243;break;
case 10:i=273;break;
case 11:i=304;break;
case 12:i=334;break;
}
return i;
}

int main()
{
int i;
cout<<endl<<"输入年:"; 
cin>>a.year;
cout<<"输入月:" ;
cin>>a.month;
cout<<"输入日:";
cin>>a.day;
i=sum(a);
if ((a.year%400==0||(a.year%4==0&&a.year%100!=0))&&a.month>2)   //闰年大于三月加一天
i=i+a.day+1;
else
i=i+a.day;
cout<<endl<<a.year<<"年"<<a.month<<"月"<<a.day<<"日"<<"是"<<a.year<<"年的第"<<i<<"天"<<endl;
system("pause");
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-10-18
展开全部
主要参考代码:
int y,m,d;sum;
cin>>y;
cin>>m;
cin>>d;
if((y%4==0&&y%100!=0)||y%400==0){
switch (m)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=60;break;
case 4:sum=91;break;
case 5:sum=121;break;
case 6:sum=152;break;
case 7:sum=182;break;
case 8:sum=213;break;
case 9:sum=244;break;
case 10:sum=274;break;
case 11:sum=305;break;
case 12:sum=336;break;
}
sum = sum +d;
}else{
switch (m)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
}
sum = sum +d;
}
cout>>sum
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式