永发信息网

c语言编写万年历

答案:2  悬赏:50  手机版
解决时间 2021-04-01 19:06
c语言编写万年历
最佳答案
#include
#define N 7void print(int day,int tian)
{
int a[N][N],i,j,sum=1;
for(i=0,j=0;j<7;j++)
{
if(j printf(" ");
else
{
a[i][j]=sum;
printf("%3d ",sum++);
}
}
printf("\n");
for(i=1;sum<=tian;i++)
{
for(j=0;sum<=tian&&j<7;j++)
{
a[i][j]=sum;
printf("%3d ",sum++);
}
printf("\n");
}

}int duo(int year)
{
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else
return 0;
}
int rili(int year,int month)
{
int day,tian,preday,strday;
//printf("\n");

printf("%d月 %d年\n",month,year);
printf("Sun Mon Tue Wed Thu Fri Sat\n");
switch(month)
{
case 1:
tian=31;
preday=0;
break;
case 2:
tian=28;
preday=31;
break;
case 3:
tian=31;
preday=59;
break;
case 4:
tian=30;
preday=90;
break;
case 5:
tian=31;
preday=120;
break;
case 6:
tian=30;
preday=151;
break;
case 7:
tian=31;
preday=181;
break;
case 8:
tian=31;
preday=212;
break;
case 9:
tian=30;
preday=243;
break;
case 10:
tian=31;
preday=273;
break;
case 11:
tian=30;
preday=304;
break;
default:
tian=31;
preday=334;
}
if(duo(year)&&month>2)
preday++;

if(duo(year)&&month==2)
tian=29;
day=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400+preday+1)%7; print(day,tian);

}int main()
{
int year,month,con=1;
while(con)
{
printf("请输入你想打印的年份:");
scanf("%d",&year);
while(1)
{
printf("请输入你想打印的月份:");
scanf("%d",&month);
if(month>12||month<1)
printf("请输入正确的月份!!");
else
break;
}

rili(year,month); printf("是否继续 1或者0");
scanf("%d",&con);
}
getch();
}
全部回答
#include"stdio.h"
#include"stdlib.h"
#include"windows.h"
void welcome();
void getday(int year,int month);
void shuru();
void end();
long year;
long month;
void welcome()
{
printf("【万年历程序加载中");
for(int i=0;i<30;i++)
{
printf("★");
Sleep(100);
}
system("cls");
printf("【万年历程序加载中】\n");
Sleep(1000);
printf("☆~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~☆\n");
Sleep(1000);
printf(" ~~~谢谢使用【菠菜】制作的万年历~~~~\n");
Sleep(100);
printf("☆~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~☆\n");
Sleep(1000);
}
void end()
{
printf("【万年历关闭中");
for(int i=0;i<30;i++)
{
printf("★");
Sleep(100);
}
system("cls");
printf("【万年历关闭完成】\n");
Sleep(1000);
printf("☆~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~☆\n");
Sleep(1000);
printf(" ~~~谢谢使用【菠菜】制作的万年历~~~~\n");
Sleep(100);
printf("☆~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~☆\n");
Sleep(1000);
exit(0);
}
void shuru()
{
int a;
printf("☆~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~☆\n");
printf(" ≮欢迎使用万年历≯\n");
printf("☆~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~☆\n");
while(1)
{
printf("请输入年份:");
scanf("%d",&year);
if(year>0)
break;
else
{
printf("\n");
printf("你输入的年份有误,请重新输入\n"); } }
printf("\n");
while(1)
{
printf("请输入月份:");
scanf("%d",&month);
if(month>=1&&month<=12)
break;
else
{
printf("\n");
printf("你输入的月份有误,请重新输入\n"); } }
getday(year,month);
}
void getday(int year,int month)
{
int week; //星期几
int nowday=0; //该月前的总天数
long allday; //从公元1年起的总天数
int dayofmonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(year%4==0&&year%100!=0||year%400==0)
dayofmonth[2]=29;
for(int m=0;m {
nowday=nowday+dayofmonth[m];
}
allday=nowday+year*365+year/4-year/100+year/400; //公元一年到现在用了多少天
week=allday%7; //求出这个月第一天是星期几
printf(" %d 年 %d 月\n",year,month);
printf("日 一 二 三 四 五 六\n");
for(int j=0;j {
printf(" ");
}
for(int i=1;i<=dayofmonth[month];i++)
{
if(week==7)
{
printf("\n");
week=0; }
printf("%2d ",i);
week++; }
printf("\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
}
void main()
{
char a;
welcome();
while(1)
{
shuru();
printf("你还需要继续吗?");
fflush(stdin); //清空输入缓冲区,避免缓冲区内残存读取函数无法取走的内容!
scanf("%c",&a);
if(a=='n')
break;
}
end();
}
这个万年历比较好看哈!你可以试试这个?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三什么壬什么的成语?
有首歌的歌词是:我和你吻别,在无人的夜,张
学做卤菜适合什么年龄段的人群
招财鱼用手刮过鱼鳞变红了,怎么办?
你对这个妮天馨品牌的东西了解多少啊?
米粉中添加双歧因子的作用是什么
双罗杆吹膜TPU和PO复合不分层吗?
长江城市花园怎么样?好不好?值不值得买?
lliketomeetuthere词意
有如果你不是我可以停靠的地方的歌词的是什么
一个人抱着柴在云上前方有一只羊和一只鸡是什
温州鼎瑞锅炉有限公司
求水电安装交流群
凫举掌而示,笑以言曰,你从举和笑中 体会到
我有五万块钱,投入股票,亏了三万,请问那两
推荐资讯
为什么湿布可以别弯钢金棍
明尼蘇达多项人格测试的结果解析: 原始分数
45mnv非调质钢能代替45号钢调制吗
明天立春了,天儿能暖和点了吗
运放块4558D可不可以用5532直接代换
大唐艾神他们的艾灸机器好卖吗?
列举自动化立体仓库构成要素
求悠悠忘忧的一路荣华 全本
a比b少几倍怎么表示?
手机它怎样识别连接的是充电器还是电脑?
宋字的笔画顺序怎么写
朋友圈传了一副儿子画的画,该说的什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?