首页

文章

各位大哥大姐帮小弟做一个C语言程序,救命啊!

发布网友 发布时间:2022-04-20 03:54

我来回答

2个回答

热心网友 时间:2023-12-07 16:16

#include<stdio.h>
#include<windows.h>

int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

int CallWeek(int year, int month, int day); //计算某年某月某日是星期几
int CheckYearMonthDay(int year, int month, int day); //检查年-月-日是否有效
void ShowCalendar(int week, int month, int day);

void main()
{
// int week;
int year;
int month;
int day;
for(;;)
{
system("cls");
printf("请输入查询的日期(年-月-日):");
scanf("%d-%d-%d", &year, &month, &day);
if(CheckYearMonthDay(year, month, day))
{
printf("日期输入错误\n");
}
else
{
// week = CallWeek(year, month, day);
// printf("%s\n", WEEK[week]);
ShowCalendar(CallWeek(year, month, day), month, day);
}
system("pause");
}
}
//*************start CheckYearMonthDay()***************//
int CheckYearMonthDay(int year, int month, int day)
{
if(year < 0 || month < 0 || month > 12 || day < 0)
{
return 1;
}
else
{
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
if(day > (month_day[month] + 1))
{
return 1;
}
else
{
month_day[2] = 29;
return 0;
}
}
else
{
if(day > month_day[month])
return 1;
else
return 0;
}
}
}
//***********end CheckYearMonthDay()*****************//
int CallWeek(int year, int month, int day)
{
int week;
int century;
if(month == 1 || month == 2)
{
month += 12; //月份为1或2月当成13或14月
year -= 1; //提前一年
}
century = year / 100 + 1; //那年所处的世纪
year = year / 10 % 10 * 10 + year % 10; //那年的最后两位
week=(year+(int)(year/4)+(int)((century-1)/4)-2*(century-1)+(int)(26*(month+1)/10)+day-1);
week = week % 7;
printf("week == %d\n", week);
if(week >= 7)
{
week -= 7;
}
else
if(week >= -6 && week <= -1)
{
week += 7;
}
return week;
}

void ShowCalendar(int week, int month, int day)
{
char WEEK[7][7] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int i,j;
int wb;
int tmp_day;
for(i = day; i != 1; i--)
{
if(week == 0)
week = 6;
else
week--;
}
tmp_day = i;

for(i = 0; i < 7; i++)
{
printf("%s ", WEEK[i]);
}
printf("\n");
wb = week;
for(i = 0; i < 6; i++)
{
for(j = 0; j <= 6; j++)
{
if(wb == 0)
{
if(j == week)
{
if(tmp_day != day)
printf("%6d\t", tmp_day);
else
printf(" ->%2d\t", tmp_day); //特别显示查找的day
tmp_day++;
if(tmp_day > month_day[month])
break;
if(week == 6)
week = 0;
else
week++;
}
}
else
{
printf("\t");
wb--;
}
}
printf("\n");
if(tmp_day > month_day[month])
break;
}
}

//以前做练习写的 送你吧。。不过没有300-500行 不过这个没有农历, 只是查星期几而已 呵呵

热心网友 时间:2023-12-07 16:16

#include <stdio.h>

int main( void )
{
//W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
int w, d, m, y;
char day[][10]={"一", "二", "三", "四", "五", "六","日"};
while(scanf("%d%d%d", &y, &m, &d)!=EOF){
if(m<=2) y--, m+=12;
w = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) % 7;
printf("星期%s\n", day[w]);
}
}
注意输入的时候年和月之间要格开
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 C语言,这题怎么做? 求架空历史或者穿越到架空历史的网络小说。 求架空历史类穿越小说 求穿越架空历史军事类小说 谁知道好看的穿越、架空历史类小说?推荐几部啊 求推荐穿越/架空历史小说 推荐几本穿越架空历史的好看小说… 多谢多谢 经典架空历史穿越小说,推荐几本。 推荐几本轻松的架空历史的小说? 有什么好看的历史穿越小说,求推荐 好看的穿越架空历史小说有啥 求几本穿越架空历史小说 推荐几本好看的架空历史穿越小说,高分 荣耀v206 128和8 128的闪存一样吗? 好看的穿越历史架空小说推荐 好看的男主穿越架空历史小说? 头一阵一阵抽筋怎么了 脑袋疼,里面一抽一抽的疼,该怎么办 左边脑袋一抽一抽的疼是怎么回事??? 头抽筋是什么原因,有什么反应 c语言中既然int比short int的范围大,为什么不直接... 经济管理专业都有什么课程? 请问我该学些什么 自动驻车怎么使用步骤 奥迪q5什么情况下使用自动驻车功能 怎么使用奥迪Q5自动挡? 奥迪Q5电子手刹旁边有个A字的按钮是什么功能? 奥迪q5档位使用教程 请问奥迪Q5舒适型有自动驻车和上坡辅助吗,我只找... Q5车主 高人来一下..自动驻车功能。我没分了 好心... 奥迪Q5技术性有自动驻车是什么意思 奥迪q5怎么放手刹,车发动后找手刹在哪 了解奥迪Q5的人回答。如何把自动启停功能设置成自... 奥迪q5l自动驻车d挡是半联动吗? 想问一下奥迪Q5这两颗按键的意思啊?P是手刹,那A呢? 怎么使用奥迪q5自动挡 奥迪Q5手刹在哪? 奥迪Q5电子手刹怎么匹配 奥迪Q5有几个档位怎么挂档 怎样应急解除奥迪q5电子手刹
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com