学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
轻松建立自己的群组,招兵买马   
发新话题
打印

菜鸟写的一个万年历(计算输入日期是星期几)

菜鸟写的一个万年历(计算输入日期是星期几)

#include <stdio.h> #include <stdlib.h>

int statistic(int a) { int i,t=0; for(i=1;i<a;i++) if(i%4==0) { if(i%100!=0) t++; else if(i%400==0) t++; } return (t); }

int judge(int a) { int z; if(a%4!=0) z=0; else if(a%100!=0) z=1; else if(a%400==0) z=1; else z=0; return (z); }

void errorday() { printf("日输入错误\n\n"); system("PAUSE"); printf("\n"); }

void errormonth() { printf("月输入错误\n\n"); system("PAUSE"); printf("\n"); }

int main(int argc, char *argv[]) { int year,month,day,ruen_time,y_n,i; long days1,days2,days3,day_sum; static int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; do { printf("请输入年、月、日:\n"); scanf("%d %d %d",&year,&month,&day); y_n=judge(year); if(month>12) {errormonth();continue;} if(y_n==1) { if(month==2) {if(day>29) {errorday();continue;}} else if(day>m[month]) {errorday();continue;} } else if(day>m[month]) {errorday();continue;} ruen_time=statistic(year); days1=ruen_time+(year-1)*365; days2=0; for(i=0;i<month;i++) days2=days2+m[i]; if(month>2) days3=days2+y_n+day; else days3=days2+day; day_sum=days1+days3; switch(day_sum%7) { case 0:printf("%d年%d月%d日是星期日\n",year,month,day);break; case 1:printf("%d年%d月%d日是星期一\n",year,month,day);break; case 2:printf("%d年%d月%d日是星期二\n",year,month,day);break; case 3:printf("%d年%d月%d日是星期三\n",year,month,day);break; case 4:printf("%d年%d月%d日是星期四\n",year,month,day);break; case 5:printf("%d年%d月%d日是星期五\n",year,month,day);break; case 6:printf("%d年%d月%d日是星期六\n",year,month,day);break; default:break; } printf("\n"); system("PAUSE");printf("\n"); } while(1); }

TOP

好东西

顶一下

我是菜鸟,我想飞..............................

TOP

好呀,不错

TOP

欢迎原创作品 顶一下

TOP

编的很不错呀

TOP

为什么WIN-TC不能显示汉字

TOP

win_TC可以显示汉字,看看一下帮助吧,在超级工具集里有中文DOS运行环境。

TOP

我晕,计算个星期几和是不是闰年也叫万年历?

我还以为带阴阳历转换、各种节日(农历、公历)、节气,图形界面呢

TOP

发新话题