问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

速求一个万年表C++程序 急 谢谢~~

发布网友 发布时间:2024-10-10 11:44

我来回答

2个回答

热心网友 时间:2024-11-16 07:54

//万年历.c

//计算公元(后)某一天为星期几,并输出该月的日历

#include<stdio.h>
int isLeap(int year); //判断闰年
int maxDay(int year,int month); //判断某年某月最多天数
int eachYearTotal(int year,int month,int day); //判断这一天是该年的第几天
int week(int year,int month,int day); //判断某年某月某日的编号(0-6)
char *chineseWeek(int number); //将编号转化为星期(日-六)
void output(int year,int month,int day); //输出该天星期几
void display(int year,int month,int day); //输出日历
int check(int year,int month,int day); //检查有效性
void main()
{
int year,month,day,flag; //flag判断输入是否有效
char ch;
do
{
do
{
printf("\n请输入年月日: ");
scanf("%d%d%d",&year,&month,&day);
flag=check(year,month,day);
if(flag==0)
{
printf("输入无效\n");
}
}while(flag==0);
display(year,month,day);
printf("是否继续Y/y: ");
fflush(stdin);
ch=getchar();
}while(ch=='Y'||ch=='y');
}
int isLeap(int year) //判断闰年
{
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else
return 0;
}
int maxDay(int year,int month) //判断某年某月最多天数
{
int a[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(isLeap(year))
a[1]=29;
return a[month-1];
}

int eachYearTotal(int year,int month,int day) //判断这一天是该年的第几天
{
int i,sum=0;
for(i=1;i<month;i++)
{
sum+=maxDay(year,i);
}
sum+=day;
return sum;
}
int week(int year,int month,int day) //判断某年某月某日的编号(0-6)
{
int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+eachYearTotal(year,month,day);
number%=7;
return number;
}
char *chineseWeek(int number) //将编号转化为星期(日-六)
{
switch(number)
{
case 0:
return "星期日";
case 1:
return "星期一";
case 2:
return "星期二";
case 3:
return "星期三";
case 4:
return "星期四";
case 5:
return "星期五";
case 6:
return "星期六";
default:
return "error";
}
}
void output(int year,int month,int day) //输出该天星期几
{
int number=week(year,month,day);
printf("\n 公元%d年%d月%d日%10s\n\n",year,month,day,chineseWeek(number));
}
void display(int year,int month,int day) //输出日历
{
int max,number,i,j=1;
max=maxDay(year,month);
number=week(year,month,1); //该年该月的1号为星期几作为起始位
output(year,month,day);
printf("%4s%4s%4s%4s%4s%4s%4s\n","日","一","二","三","四","五","六");
for(i=0;i<number;i++) //找起始位
{
printf(" ");
}
while(j<=max)
{
printf("%4d",j);
if(i%7==6) //周六换行
{
printf("\n");
}
i++;
j++;
}
printf("\n\t Made by Zhangbk");
printf("\n");
}
int check(int year,int month,int day) //检查有效性
{
if(year<0||month<1||month>12||day<1||day>maxDay(year,month))
return 0;
else
return 1;
}

热心网友 时间:2024-11-16 07:55

#include <stdio.h>

char *week[] = {"Sunday",

"Monday",

"Tuesday",

"Wednesday",

"Thursday",

"Friday",

"Saturday"};

void main()

{

int Y;

int M;

int D;

int A;

printf("\nEnter year:");

scanf("%d",&Y);

printf("\nEnter month:");

scanf("%d",&M);

printf("\nEnter date:");

scanf("%d",&D);

//下面的四条语句用来计算输入日期的星期数,是程序的核心部分,缺一不可

A = Y > 0 ? (5 + (Y + 1) + (Y - 1)/4 - (Y - 1)/100 + (Y - 1)/400) % 7

: (5 + Y + Y/4 - Y/100 + Y/400) % 7;

A = M > 2 ? (A + 2*(M + 1) + 3*(M + 1)/5) % 7

: (A + 2*(M + 2) + 3*(M + 2)/5) % 7;

if (((Y%4 == 0 && Y%100 != 0) || Y%400 == 0) && M>2)

{

A = (A + 1) % 7;

}

A = (A + D) % 7;

printf("\nI's a %s.\n\n",week[A]);

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? 交强险做到什么科目 汽车交强险记什么科目 外行怎么过二级建造师 交强险是什么会计科目 朋友圈视频压缩画质 朋友圈压缩画质可以改善吗? 邢台火车站出站口的黑车喊着去哪去哪是骗人的吗 邢台火车站附近!那个网吧便宜,能抽烟包夜! 邢台火车站附近有肯德基或麦当劳吗? 六安红街广场交通配套 六安有哪些建筑 请帮忙看看(有照片)这个风景区是什么地方的,是安徽的吗?具体哪里? 六州首府楼盘简介 2024年农历八月初八制作房梁吉日 2024年9月10日适合制作房梁吗_百度知 ... 2024年农历八月初八求嗣吉日 2024年9月10日是求嗣的黄道吉日吗_百度知 ... 2024年农历八月初八认义子吉日 2024年农历八月初八宜认义子吗 2024年农历八月初八回娘家吉日 2024年9月10日回娘家吉日一览表_百度知 ... ...男:阳历 1984年10月8日 女:阳历 1986年8月18日,求您指点 lol afk学习还剩5次 什么意思 lol中afk还剩5次是什么意思 万年历系统编程 不改掉这8个坏习惯,那你就不适合结婚 名仁苏打水是智商税吗?和普通苏打水的口感有什么不同? 素蟹黄冬瓜球 蟹粉有什么花式吃法? 青浦有什么好吃的 快手怎么赚钱 用快手怎么赚钱 为什么很多快手都希望别人点小红 ️... 我今年大3了,水利专业,没有工作经验能报考2几建筑师吗? 报名二建有什么要求? 吃红薯导致便秘吗 吃红薯容易便秘吗 现在的手机钢化玻璃膜,最好的是0.2mm的好还是0.3mm的好 蟹粉鲜肉汤团做法 苏州有哪些味道一流的特色美食分享? 火影忍者10大经典战役 女 想买块玉一直带着辟邪保平安,想问下什么形状的比较好 竹子?如意... 什么样的玉石挂件值得收藏? 男士选购玉石吊坠时应该注意些什么? 女人戴什么翡翠玉吊坠好?多数人都爱这几款! 针眼儿是什么意思?