C语言实验:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。
2013-03-30 23:13
447 查看
要求:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。
简单的循环结构,并结合基姆拉尔森公式,注意月份转换。
下面是源码,仅供参考:
简单的循环结构,并结合基姆拉尔森公式,注意月份转换。
下面是源码,仅供参考:
#include <iostream> using namespace std; void month1(int i, int &count) { switch (i) { case 1:count += 31;break; case 2:count += 29;break; case 3:count += 31;break; case 4:count += 30;break; case 5:count += 31;break; case 6:count += 30;break; case 7:count += 31;break; case 8:count += 31;break; case 9:count += 30;break; case 10:count += 31;break; case 11:count += 30;break; case 12:count += 31;break; } } void month2(int i, int &count) { switch (i) { case 1:count += 31;break; case 2:count += 29;break; case 3:count += 31;break; case 4:count += 30;break; case 5:count += 31;break; case 6:count += 30;break; case 7:count += 31;break; case 8:count += 31;break; case 9:count += 30;break; case 10:count += 31;break; case 11:count += 30;break; case 12:count += 31;break; } } void day1(int a) { switch(a+1) { case 1: cout<<"Monday"<<endl;break; case 2: cout<<"Tuesday"<<endl;break; case 3: cout<<"Wednesday"<<endl;break; case 4: cout<<"Thursday"<<endl;break; case 5: cout<<"Friday"<<endl;break; case 6: cout<<"Saturday"<<endl;break; case 7: cout<<"Sunday"<<endl;break; } } int main() { int year, month, day; while(1) { int count = 0; cout<<"Please input the date as the following format\nyear-month-day\n\n"; cin>>year>>month>>day; for(int i = 1; i < year; i ++) { if((i % 4 == 0 && i % 100 != 0)||(i % 400 == 0)) { count += 366; } else { count += 365; } } for(int i = 1; i < month; i++) { if((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0)) { month1(i,count); } else { month2(i,count); } } count += day; cout<<endl<<"Days between 1-1-1 and "<<year<<'-'<<month<<'-'<<day<<" is(are) "<<count<<" day(s)"<<endl<<endl; if(month==1||month==2) { month+=12; year--; } int d = (day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7; if(d==0) { d=7; } cout<<"That day is "; day1(d); cout<<endl; } }
相关文章推荐
- [置顶] C语言实验:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。
- 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 黑马程序员—编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, *程序计算这一天是星期几,并且计算出是一年中的第几天。 */
- 黑马程序员---------------------编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, * 程序计算这一天是星期几,并且计算出是一年中的第几天
- 16.根据输入的日期输出星期几(已知公元1年1月1日星期一)
- 用户输入一个日期,计算时星期几,并计算时一年中的某一天,使用自定义方法判断
- 输入一个日期,求这一天是星期几,并且计算出是一年中的第几天
- 黑马程序员 测试题:编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 输入一个日期,判断这个日期在一年中是哪一天,是星期几,计算两个日期间的天数,使用字符串输出日期
- C语言实验:输入任意一个年份和月份,输出该月份的公历日历
- C#源代码—在文本框中随意输入一个日期,单机“确定”按钮时显示这一天是星期几?
- 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天
- 给出任意一个日期, 怎样知道是星期几?
- 输入任意日期计算星期几
- C++ 实现判断一个输入日期是星期几,是一年中的第几天
- 设计一个程序输入两个日期计算相隔多少天,或计算一个日期加上间隔后的日期。
- 输入一个日期,得到这个月的最后一天
- 2. 计算出1900年1月1日至当前日期之间总共间隔多少天,将其除以7取余数,该结果即为当月第一天是星期几,按日历格式输出
- C语言实验:输入任意一个年份和月份,输出该月份的公历日历
- 二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。 对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为: ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 小易想知道最多可以放多少块蛋糕在网格盒子里。 输入描述: 每组数组包含网格长宽W,