永发信息网

c语言万年历程序

答案:1  悬赏:80  手机版
解决时间 2021-12-04 20:57
c语言万年历程序
最佳答案
已经编译运行确认过。

#include
#include

int leap(int);
int md(int m,int y);
void prtweek(void);
int fw(int m,int y);
void prtmonth(int m);
int main(void)
{
int y,m,i,test,week;
printf("请输入您要查询的年份: ");
scanf("%d",&y);
for (m=1; m<=12; m++) {
test=1;
prtmonth(m);
prtweek();
week=fw(m,y);
if (week!=6)
for (i=0; i<=week; i++) {
putchar('\t');
test++;
}
for (i=1; i<=md(m,y); i++,test++) {
printf("%d\t",i);
if (test%7==0) {
putchar('\n');
}
}
putchar('\n');

system("pause");//暂停,以便观察输出
}
return 0;
}
int leap(int y)
{
return (y%4==0&&y%100||y%400==0)?1:0;
}
int md(int m,int y)
{
int d;
switch (m) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:d=31;break;
case 4:
case 6:
case 9:
case 11:d=30;break;
case 2:d=leap(y)?29:28;break;

}
return d;
}
void prtweek(void)
{
printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n","Sun","Mon","Tue","Wed","Thur","Fri","Sat");
}
int fw(int m,int y)
{
int f;
if (m<3) {
m+=12;
y--;
}
f=(1+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
return f;
}
void prtmonth(int m)
{
switch (m) {
default:
case 1:puts("===January===");break;
case 2:puts("===February===");break;
case 3:puts("===March===");break;
case 4:puts("===April===");break;
case 5:puts("===May===");break;
case 6:puts("===June===");break;
case 7:puts("===July===");break;
case 8:puts("===August===");break;
case 9:puts("===September===");break;
case 10:puts("===October===");break;
case 11:puts("===November===");break;
case 12:puts("===December===");break;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
理邦精密仪器面试流程及公司情况是什么?
想从事话剧方面的工作,研究生什么专业比较好
_______,theexaminationtomorrowhasbeencance
包饺子用的香菇要不要炒熟了才能和肉一起包呀
高新科圆路坐几路车到五象广场
htc g14为什么一年没用开不开机了?
去丽江晚上有什么好玩的地方
明星封杀是什么意思
源汇区漯河阿奎西平牛骨头地址在哪,我要去那
在显微镜下看到的“d”字,在透明纸上写的是
求知香水品牌?
一天可以回答同一个人几次问题
唯音艺术培训中心怎么样
求生之路最好玩是哪部,可以两个人一起玩吗,和
老惠普HP 笔记本BIOS 被破坏了无法开机进入
推荐资讯
话说张睿到底多高???
汉武帝和谁合葬
这个怎么写啊,刚学c语言,
怎么把拒接号码恢复?
三轮车链条怎样才省力
请用法语翻译愿你被这个世界温柔以待,谢谢
自然美化妆品招微商代理吗
用什么软件可以学习数学,要有过程的。
什么是javascript原型,有必要学吗学起来难吗
那个尿毒症可以筹钱吗?怎么发起求助了?
兴利社区居委会位置在什么地方啊,我要过去办
EXCEL问题,假设有100项不知道多少合格多少不
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?