d100: 神仙?妖怪?谢谢!
来源:互联网 发布:阿里云esc绑定域名 编辑:程序博客网 时间:2024/06/10 07:55
题目:点击打开链接
题目大意:
内容:
输入年份和月份,输出日历表!
附注:由于公元日历的编排,每400年是一个大周期,在400年中设置97个闰年,于是2001年与1年的1月1日都是星期一,对于输入的年号y,y年的1月1日是w,其中w = s mod 7 的余数,0 代表周日,那么s的值如何计算呢?s=y-1+[(y-1)/4]-[(y-1)/100]+[(y-1)/400]+1
附注:由于公元日历的编排,每400年是一个大周期,在400年中设置97个闰年,于是2001年与1年的1月1日都是星期一,对于输入的年号y,y年的1月1日是w,其中w = s mod 7 的余数,0 代表周日,那么s的值如何计算呢?s=y-1+[(y-1)/4]-[(y-1)/100]+[(y-1)/400]+1
输入说明:
一行两个整数,代表年份和月份(不需要判错)
输出说明:
第一行,星期的标志,每个占4位
若干行,每行7个整数(代表周日至周六),每个整数占4位字符空间。
输入样例:
2009 7
输出样例 :
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
#include<iostream>
using namespace std;
int main()
{
int Year,Month;
cin>>Year>>Month;
int s=Year-1+((Year-1)/4)-((Year-1)/100)+((Year-1)/400)+1;
int w=s%7;
int Array[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //保存一年十二个月的天数
if((Year%4==0&&Year%100!=0)||(Year%400==0)) //判断闰年
Array[2]=29;
int sum=0;
for(int i=1;i<Month;i++)
sum+=Array[i];
w=w+sum%7;
w=(w>7)?(w-7):w; //判断星期几
cout<<"Sun Mon Tue Wed Thu Fri Sat"<<endl;
for(int i=0;i<=w;i++)
cout<<" "; //①
for(int i=1;i<=Array[Month];i++)
{
if(w%7==0)
cout<<endl;
if(i<10)
cout<<" "; //②(①,② 用于调节输出格式
cout<<i<<" ";
w++;
}
return 0;
}
注意:
原题目中的输出样例是不对的,我刚开始按那个格式是那几次都WA了,它一定要严格按照对应的位置输出!!!
希望对你有用。
0 0
- d100: 神仙?妖怪?谢谢!
- 神仙?妖怪?
- Android虎头金刀之RadioButton之神仙妖怪
- 神仙
- 神仙
- 不是神仙 胜似神仙
- 谢谢!
- 谢谢
- 谢谢
- 谢谢
- 谢谢
- 谢谢
- 谢谢
- 谢谢!
- 谢谢
- 谢谢!!!!!!!!
- 谢谢
- 谢谢
- phpnow几个重要配置文件目录
- android 完全退出应用程序
- 设计模式之责任链模式
- 实现多重继承
- 2015年阿里巴巴数据分析实习生招聘笔试题
- d100: 神仙?妖怪?谢谢!
- 斐波那契数列的计算
- OCP-1Z0-051 第38题 视图注意事项
- TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)
- 实现在ubuntu12.04.4开机时自动挂载windows磁盘
- PHP操作数据库工具类
- 同步,异步,阻塞,非阻塞
- ibatis笔记
- string操作、文件操作