首页 > 试题

wed是星期几

更新时间:2022-11-13 21:48:48 阅读: 评论:0

穿连体舞蹈服-厚成语


2022年11月13日发(作者:孕妇孕期检查时间表)

C语⾔万年历查询年历⽉历星期(⽇期)循环查询(2020319更新)

C语⾔万年历

很多⼈都有做过万年历,于是想⾃⼰写⼀个。

万年历是我们⽇常⽣活中经常⽤到的⼀种⾮常实⽤的⼯具。

由于⼯作繁忙,⼈们常常忘记某⼀天是星期⼏,想要看看某个⽉的⽇历,或者⼀整年的。我把⾃⼰的想法实现如下:

1、任意年份⽇历的整体输出;

2、任意年任意⽉⽇历的单独输出;

3、任意年⽉⽇查询星期⼏;

4、按任意键退出;

5、循环查询,直到选择退出;

ps:

以上星期⼏的推算只适合于1582年10⽉15⽇之后的情形(当时的罗马教皇将恺撒⼤帝制订的儒略历修改成格⾥历,即今天使⽤的公

历)。

先来⼀些运⾏截图:

输⼊错误

输出全年的⽇历

任意年任意⽉⽇历的单独输出

**任意年⽉⽇查询星期⼏**

退出程序

ok截图展⽰完了

双⼿奉上全部代码

算法实现还是挺容易的,调整格式,修改代码很累⼈!

2019年6⽉22⽇

重新调整输出格式(当⽉1⽇不是星期⽇的时候对齐问题,⽉末不是星期6末尾#对齐);

调整查询某⽉⽇历时输⼊⽅式并对输⼊⽉份数值做判断;

调整循环⽅式;

2020年3⽉19⽇

修改星期显⽰,调整函数位置

修改后代码如下:

/*万年历输出⼩程序*/

#include"stdio.h"

#include"stdlib.h"

intdateofmonth[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},

{31,29,31,30,31,30,31,31,30,31,30,31}};

char*month1[]={"January","February","March","April","May","June","July","August","September","October","November","December"};

char*month2[]={"⼀⽉","⼆⽉","三⽉","四⽉","五⽉","六⽉","七⽉","⼋⽉","九⽉","⼗⽉","⼗⼀⽉","⼗⼆⽉"};

//char*week[7]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};

char*week[7]={"sun","mon","tue","wed","thu","fri","sat"};

/*函数声明*/

intpyear(intn);

intxingqi(intyear,intmonth,intdata);

voidrili(intyear,intmonth_a,intmonth_b);

voidxq();

main()

{

inti,year,month;

printf("*********万年历⼩程序*********nn");

printf("请选择您要执⾏的操作(0-3)n");

printf("n0:退出n1:查询某年⽇历n2:查询某⽉⽇历n3:查询某⽇星期n");

printf("n您选择要执⾏的操作是:");

scanf("%d",&i);

printf("n");

switch(i)

{

ca0:exit(i);break;

ca1:printf("请输⼊要查询的年份:nn");

scanf("%d",&year);

rili(year,1,12);break;

ca2:printf("请输⼊要查询的年份⽉份(20196):nn");

scanf("%4d%2d",&year,&month);

if(month>0&&month<13)rili(year,month,month);

el{printf("nnt输⼊错误,请重新输⼊nnnnn");

main();

}

break;

ca3:xq();break;

default:

printf("nnt输⼊错误,请重新输⼊nnnn");

main();

}

}

intpyear(intn)

{if(n%4==0&&n%100!=0||n%400==0)return1;

elreturn0;

}

intxingqi(intyear,intmonth,intdata)//返回某年某⽉某⽇是星期⼏

{intd=0,i,j;

i=pyear(year);

for(j=0;j

d+=dateofmonth[i][j];

d+=data;

//intweekday=((year-1)+(year-1)/4-(year-1)/100+(year-1)/400+d)%7;

//returnweekday==0?7:weekday;

return((year-1)+(year-1)/4-(year-1)/100+(year-1)/400+d)%7;

}

voidrili(intyear,intmonth_a,intmonth_b)

{

inti,j,k,mlen,n,fweek;

printf("nnnt———————————%d年⽇历———————————nnn",year);

for(i=month_a-1;i

{

fweek=xingqi(year,(i+1),1);

mlen=dateofmonth[pyear(year)][i];

printf("t%-8sttttt%6sn",*(month1+i),*(month2+i));

printf("t______________________________________________________nt");

for(j=0;j<7;j++)

printf("%st",*(week+j));

printf("nn");printf("t#");

if(fweek>0)

{for(n=0;n

for(k=1;k<=mlen;k++)

{

if(fweek==7)

{printf("nt#");fweek=0;}

if(fweek==6)

printf("%2d#",k);

elprintf("%2dt",k);

fweek++;

}

if(fweek<6)//以下部分处理⽉末不是星期6的情况下输出格式

{

while(fweek++!=6)printf("t");

printf("#");

}

elif(fweek==6)printf("#");//⾄此⽉末处理完毕

printf("nt______________________________________________________n");

printf("nnnnn");

}

main();

}

voidxq()

{

inty,m,d;

printf("请输⼊要查询的⽇期年⽉⽇(2019614):");

scanf("%d%d%d",&y,&m,&d);

char*weekday2[]={"⽇","⼀","⼆","三","四","五","六"};//星期中⽂

printf("nn查询结果如下:nnt%-5d年%3d⽉%3d⽇t星期%snnnnn",y,m,d,weekday2[xingqi(y,m,d)]);

main();

}

本文发布于:2022-11-13 21:48:48,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/88/13541.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:一个京一个力
下一篇:三申五令
标签:wed是星期几
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图