中易网

c语言编程,急需!!!给出任意一天,显示是星期几?

答案:3  悬赏:70  
解决时间 2021-02-15 05:36
c语言编程,急需!!!给出任意一天,显示是星期几?
最佳答案

#include "stdio.h"
#include "stdlib.h"
#include <memory.h>
#include <string.h>void main()
{
char Year[5],Month[3],Day[3];
char cc[3],YY[3],mm[3],WW[3];
int W; memset(Year,0x0,5);
memset(Month,0x0,3);
memset(Day,0x0,3);
memset(cc,0x0,3);
memset(YY,0x0,3);
memset(mm,0x0,3);
memset(WW,0x0,3); printf("请输入年:月:日,:");
scanf("%4s%2s%2s",Year,Month,Day); cc[0]=Year[0];
cc[1]=Year[1]; YY[0]=Year[2];
YY[1]=Year[3]; if (atoi(Month)>=3)
{
strcpy(mm,Month);
}
else if (atoi(Month)==1)
{
strcpy(mm,"13");
}
else if (atoi(Month)==2)
{
strcpy(mm,"14");
} // W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1
W=atoi(cc)/4-2*atoi(cc)+atoi(YY)+atoi(YY)/4+13*(atoi(mm)+1)/5+atoi(Day)-1; switch (W%7)
{
case 0:
strcpy(WW,"日");
break;
case 1:
strcpy(WW,"一");
break;
case 2:
strcpy(WW,"二");
break;
case 3:
strcpy(WW,"三");
break;
case 4:
strcpy(WW,"四");
break;
case 5:
strcpy(WW,"五");
break;
case 6:
strcpy(WW,"六");
break;
}
printf("%s年:%s月:%s日 是星期%s\n",Year,Month,Day,WW);
}
全部回答
蔡勒(Zeller)公式 计算历史上的某一天是星期几?未来的某一天是星期几?w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。) 算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。 以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下: 蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 =49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1 =49+[12.25]+5-40+[28.6] =49+12+5-40+28 =54 (除以7余5) 即2049年10月1日(100周年国庆)是星期5。
#include void main() { int year,month,day; int tempmonth,yearday; int week,weekday; unsigned int sum=0; int tag=0; printf("输入年、月、日:\n"); scanf("%d %d %d",&year,&month,&day); tag =( year - 1980 )/4; sum=(year-1984)*365 + tag; tempmonth = month - 1; yearday = 0; switch(tempmonth) { case 12:yearday+=31; case 11:yearday+=30; case 10:yearday+=31; case 9:yearday+=30; case 8:yearday+=31; case 7:yearday+=31; case 6:yearday+=30; case 5:yearday+=31; case 4:yearday+=30; case 3:yearday+=31; case 2:yearday+=28; case 1:yearday+=31; } yearday = yearday+day; if ((year-1984)%4==0 && month > 2) { yearday+=1; } sum=sum+yearday; if (year==1984) { sum-=1; } printf("距1984年1月1日一共有%d天\n",sum); weekday = (sum-1) % 7; week = yearday / 7; printf("今天是第%d个星期,星期%d",week,weekday); return ; } 才给这么点分。能多加点嘛?你看都没人给你做
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
汽车镀膜都有什么好处?都有什么作用啊?
文科生可以学护士吗
为什么兄弟间熟悉了反而疏远了?
问一下大家,最近我在跳郑多燕的减肥操,我是
植树节的风俗习惯作文六百字
查干敖包乃尚德这个地址在什么地方,我要处理
银行卡外地能不能存钱
苹果系统微信聊天记录备份怎么恢复
双鱼座的人到底是天使还是魔鬼?
青岛大学师范学院体育系或山东省师范大学体育
秀荣超市地址在哪,我要去那里办事
究级天使兽和奥米加兽哪个强??
以前在好想是游戏风云上看到一款3D第3人称游
关于Java中树的监听问题:
有翡翠鉴定证书网上也查询的到,就一定是真的
推荐资讯
DESIGNICE地址在什么地方,想过去办事
众兴办公楼在什么地方啊,我要过去处理事情
新艺窗帘在哪里啊,我有事要去这个地方
网桥公司和盐城鹤鸣亭是什么关系呀
唐天麻火腿鸡地址有知道的么?有点事想过去
我在尚志龙运驾校 过了四个月还没考完试 最近
一呼百应怎么样,在哪个网站上可以看一呼百应
南京中环国际公寓楼是多少年产权的
拔手机充电器时,总是不拔电源,只拔手机接口
洪洞县药品发展协会曲亭分会地址在什么地方,
经八路/经六路(路口)这个地址在什么地方,我
双兴家俬城地址在什么地方,想过去办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?