用C++写一段程序,已知公元1年1月1日是星期一,计算输入的年月日是星期几?

 我来答
恋上云霄我无悔
推荐于2016-08-12 · TA获得超过472个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:162万
展开全部
下面是我刚编的程序,运行了一下,测试了几个数据,都是正确的。下面是程序:
#include <iostream>

using namespace std;

int leapYear(int year);
int main()
{
cout << "请先输入年份,再输入月份,最后输入日期,中间以空格或换行符间隔,如:2010 6 13" << endl;
long a, b, c;//a为年份,b为月份,c为日期

cin >> a >> b >> c;
int i, result = 0;
for(i=1;i<=a-1;i++)
{
result+=(leapYear(i)+365)%7;
}
for(i=1;i<=b-1;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
{
result+=31%7;
result%=7;
}
else if(i==4||i==6||i==9||i==11)
{
result+=30%7;
result%=7;
}
else if(i==2)
{
result+=(28+leapYear(a))%7;
result%7;
}
}
result+=c%7;
result%=7;
if(result==0)
result = 7;
cout << "今儿是星期" << result << endl;
return 0;
}

//判断是否为闰年,若为闰年返回1(366天),反之,返回0(365天).
int leapYear(int year)
{
if(year%400==0 || year%100!=0 && year%4==0)
return 1;
else
return 0;
}
希望能对你有帮助。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式