UVa 602 简单模拟
来源:互联网 发布:js混淆解密 编辑:程序博客网 时间:2024/04/30 21:42
题意:照着题目中的要求,对于给出的日期算该天是周几。
解法:将输入日期的总天数算出来,然后进行一些处理,我有些处理是试出来的。。。
#include<stdio.h>#include<string.h>char week[7][10]= {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};char mouth[12][20]= {"January","February","March","April","May","June","July","August","September","October","November","December"};int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};int m,d,y,i;bool isOld(int m,int d,int y) //判断是否在改革前{ if(y<1752||y==1752&&(m<9||m==9&&d<=2)) return true; return false;}bool isLeap(int y,bool old) //判断是否为闰年{ if(isOld(m,d,y)) return ((y%4==0)?1:0); return ((y%4==0&&y%100||y%400==0)?1:0);}int day_of_mouth(int m,int d,int y) //在某年的条件下,判断是否为闰年{ if(m==2) return isLeap(y,isOld(m,d,y))?29:28; return a[m];}int main(){ int sum; while(scanf("%d%d%d",&m,&d,&y)&&(m+d+y)) { sum=0; if(y<1||m<=0||m>12||d<1||d>day_of_mouth(m,d,y)||(y==1752&&m==9&&3<=d&&d<=13)) //判断是否不符合条件 { printf("%d/%d/%d is an invalid date.\n",m,d,y); continue; } for(i=1; i<y; i++) sum+=(isLeap(i,isOld(m,d,i))?366:365); for(i=1; i<m; i++) sum+=day_of_mouth(i,d,y); sum+=d; //至此算出总天数 sum%=7; //通过模7算出星期几 if(isOld(m,d,y)) sum=(sum+12)%7; //我的理解是,要对在更改日期之前的日期,要把少算的12天加回来。 else sum=(sum+1)%7; //不加一就少一天,不知道为什么,求解释。 printf("%s %d, %d is a %s\n",mouth[m-1],d,y,week[sum]); } return 0;}
- UVa 602 简单模拟
- UVa 100 简单模拟
- UVA 230 Borrowers 简单模拟
- 简单模拟 UVa 10267 - Graphical Editor
- Uva 101 - The Blocks Problem//简单模拟
- UVA 573 Steps 简单模拟题
- Uva 101 - The Blocks Problem//简单模拟
- UVA 1590 IP Networks 简单模拟
- UVA 1586 分子量(简单模拟计算)
- (简单模拟2.3.1)UVA 11000 Bee(构造法模拟)
- UVA 299 Train Swapping 列车交换 冒泡排序简单模拟
- UVA 10161-Ant on a Chessboard 简单模拟
- UVA - 10716 - Evil Straw Warts Live (简单模拟)
- 简单模拟
- 简单模拟
- 简单模拟
- 简单模拟
- UVA 10196 模拟题。。
- 一生何求的伤感空间日志发布:如果有一天,我还记得你
- ORA-12560: TNS: 协议适配器错误的问题
- 对计算机专业的期望与目标
- UVa 100 简单模拟
- Oracle RAC Past Image(PI) 说明
- UVa 602 简单模拟
- 物是人非的伤感个性日志:现实搁浅了我,但搁浅不了回忆
- 【Model1 / Model2】
- POJ 3366//基本的字符串处理!
- 使用RDLC报表(1) -(4)
- bind -boost
- 变得坚强,只因你不在:伤感日志
- zoj 1902
- 输出二位数组位置的用法--java