定义一个结构体类型Date,可以表示年、月、日。输入年、月、日,计算并输出该日在本年中是第几天。注意闰

C++注意闰年... C++
注意闰年
展开
 我来答
serenesunny
2011-05-05 · TA获得超过5699个赞
知道小有建树答主
回答量:774
采纳率:0%
帮助的人:595万
展开全部
#include <iostream>
using namespace std;

struct Date
{
int year;
int month;
int day;
};

int isLeapyear(Date d)
{
if((d.year%400==0) || (d.year%100!=0) && (d.year%4==0))
return 1;
else
return 0;
}

int monthDay(Date d)
{
switch(d.month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: return 31;
case 2:
if(isLeapyear(d))
return 29;
else
return 28;
case 4:
case 6:
case 9:
case 11: return 30;
default: return 0;
}
}

int timeDay(Date d)
{
int td = 0;
Date temp = d;
for(int i = 1; i < d.month; i++)
{
temp.month = i;
td += monthDay(temp);
}
td += temp.day;
return td;
}

void main()
{
Date date;
cout << "请输入年:";
cin >> date.year;
cout << "请输入月:";
cin >> date.month;
cout << "请输入日:";
cin >> date.day;
cout << "该日在本年中是第" << timeDay(date) << "天" << endl;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式