00问答网
所有问题
C++编写万年历的问题
已知2005年的10月20日是星期四,以此编写万年历,输出任意年份的日历。
怎么由已知推出任意年的元旦是星期几??
如题,请不要随便复制粘贴别的什么代码,我要的是思路。
举报该问题
推荐答案 2009-10-20
这个程序我编写过,如果按照实际的日历来算,跟本不需要知道这些信息比如:05年的10月20日是星期四,仅仅只需要知道今天或者任何一天是星期几就可以了。
我是这样做的,由今天是星期几算出公元0年1月1日是星期几,然后程序输入任意年份,定义int days = inputyear*365+intputmonth*(用switch判断一下),用days % 7 算出当前月份第一天是星期几,就可以输出任意年份,任意月份的日历。
具体细节你自己去调试吧
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/DnnDe0nZe.html
其他回答
第1个回答 2009-10-20
1)输入年份,处理该年份的各月天数(闰年处理)。
2)根据已知日期,就算当前年份第一天距已知日期是多少天,从而计算第一天是周几。
3)根据1)得到的数据,每个月份输出日期就可以了。
大概思路就这样了。
前两步应该没什么问题。
第3步处理比较复杂,要细心。
第2个回答 2009-10-20
最简单的方法,直接套计算式
Kim Skak Larsen 计算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
d表示日期中的日数,m表示月份数,y表示年数。
把一月和二月看成是上一年的十三月和十四月
相似回答
C++万年历
,输入年月,显示月历
答:
include <stdio.h> include <stdlib.h> int f(int year,int month){/*f(年,月)=年-1,如月<3;否则,f(年,月)=年*/ if(month<3) return year-1;else return year;} int g(int month){/*g(月)=月+13,如月<3;否则,g(月)=月+1*/ if(month<3) return month+13;els...
来解释一下这个
C++万年历
答:
include<iomanip>//引用头文件 using namespace std; //命名空间 //1901年1月1号是星期二 int nyear(int y) //定义变量年 { if(y%4==0&&(y%100!=0||y%100==0&&y%400!=0)) return 366; //计算此年是不是闰年 是的话返回366 else return 365;//否则返回365 } int nmonth(i...
C++编写的万年历
答:
1.int Date::isleapyear()返回值:return 1表示是闰年,return 0表示不是闰年,因为闰年的话二月有29天,所以只是不能做调换的.2.char* weekd[7]={"SUN","MON","TUE","WEN","THU","FRI","STA",};和char* weekd[7]={"MON","TUE","WEN","THU","FRI","STA","SUN"};也是不能调换...
c++万年历
答:
char* month_str[]={"January","February","March","April","May","June","July","August","September","October","November","December"};char* week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};int IsLeapYear(int year) /*find out the year is...
大家正在搜
c语言万年历输出年历
万年历是谁编的
用c语言编写万年历程序
万年历编程
万年历怎么做出来的
电子万年历程序怎么写
最实用的万年历
万年历是谁推出的
万年历没有20年怎么办