c语言星期一到星期天

关于在C语言中处理星期几的问题,以下是综合多个方法及代码示例的解答:

一、使用枚举类型定义星期

通过枚举类型可以方便地表示星期一到星期天,代码示例如下:

#include <stdio.h>

enum Weekday {
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
};

int main() {
    Weekday today = Monday;
    switch (today) {
        case Monday: printf("星期一\n"); break;
        case Tuesday: printf("星期二\n"); break;
        case Wednesday: printf("星期三\n"); break;
        case Thursday: printf("星期四\n"); break;
        case Friday: printf("星期五\n"); break;
        case Saturday: printf("星期六\n"); break;
        case Sunday: printf("星期天\n"); break;
        default: printf("输入错误\n"); break;
    }
    return 0;
}

二、计算任意日期的星期(蔡勒公式)

蔡勒公式是一种计算星期几的算法,适用于公历日期。公式如下: $$ W = \left( y + \left\lfloor \frac{y}{4} \right\rfloor - \left\lfloor \frac{y}{100} \right\rfloor + \left\lfloor \frac{y}{400} \right\rfloor + \left\lfloor \frac{13(m+1)}{5} \right\rfloor + d - 1 \right) \mod 7 $$

其中:

  • $W$ 是星期数(0=星期六,1=星期日,2=星期一,...,6=星期五)

  • $d$ 是日期

  • $m$ 是月份(3=3月,4=4月,...,14=2月)

  • $y$ 是年份(需减1,例如2025年输入2024)

示例代码:

#include <stdio.h>

int GetWeekDay(int year, int month, int day) {
    if (month < 3) {
        month += 12;
        year--;
    }
    int K = year % 100;
    int J = year / 100;
    int h = (day + 13 * (month + 1) / 5 + K + K / 4 + J / 4 + 5 * J) % 7;
    return (h + 5) % 7; // 调整为0=星期六,1=星期日
}

int main() {
    int year, month, day;
    printf("请输入日期(格式:YYYY-MM-DD):");
    scanf("%d-%d-%d", &year, &month, &day);
    int weekday = GetWeekDay(year, month, day);
    switch (weekday) {
        case 0: printf("星期六\n"); break;
        case 1: printf("星期日\n"); break;
        case 2: printf("星期一\n"); break;
        case 3: printf("星期二\n"); break;
        case 4: printf("星期三\n"); break;
        case 5: printf("星期四\n"); break;
        case 6: printf("星期五\n"); break;
    }
    return 0;
}

三、使用标准库函数

C语言标准库中的time.h提供了tm_wday字段,可通过gmtime函数直接获取星期信息:

#include <stdio.h>
#include <time.h>

int main() {
    time_t t = time(NULL);
    struct tm *tm = localtime(&t);
    printf("今天是星期%d\n", tm->tm_wday); // 0=星期日,6=星期六
    return 0;
}

四、注意事项

  1. 月份天数处理 :1月和2月需按13月和14月计算(年份减1)

  2. 闰年判断 :需正确判断闰年(能被4整除且不能被100整除,或能被400整除)

  3. 输出格式 :部分算法将星期六设为0,需根据需求调整输出逻辑

以上方法可根据具体需求选择使用,枚举类型适合简单表示,蔡勒公式和标准库函数适合精确计算任意日期的星期。

本文《c语言星期一到星期天》系辅导客考试网原创,未经许可,禁止转载!合作方转载必需注明出处:https://www.fudaoke.com/exam/1734087.html

相关推荐

星期一为什么叫礼拜一

“礼拜一”的称呼源于古代宗教文化对星期的神化命名,将星期一视为献给月亮神的日子,后与基督教“礼拜”仪式结合形成习惯用语。 古巴比伦与星神崇拜 星期制度最早由古巴比伦人创立,他们将七天分别对应七位星神,星期一(月曜日)由月神“辛”主管。这一体系通过古希腊、罗马传播至欧洲,奠定了“星期”与神祇关联的基础。 基督教“礼拜”的融合 基督教将星期日定为礼拜日(主日)

2025-04-24 资格考试

星期一到星期日图标

​​星期一到星期日图标是UI设计中高频使用的视觉元素,其核心价值在于通过简洁图形快速传达日期信息,同时需兼顾品牌调性与用户认知习惯。​ ​ 设计时需重点把控识别度、风格统一性及跨平台适配性,避免因过度装饰或语义模糊导致功能失效。 ​​基础规范:尺寸与比例​ ​ 采用正方形、横竖矩形或圆形作为基础比例框架,确保整套图标视觉权重一致。线条粗细建议3-4px(@2x分辨率下)

2025-04-24 资格考试

星期一到星期日的缩写

以下是星期一到星期日的缩写及其相关信息: 星期一到星期日的缩写 星期一:Mon. 星期二:Tue. 星期三:Wed. 星期四:Thur. 或 Thurs. 星期五:Fri. 星期六:Sat. 星期日:Sun. 分点展开 缩写的来源与用途 这些缩写主要来源于英语,广泛应用于日程安排、邮件签名、会议通知等场景,帮助快速传达日期信息,提高沟通效率。 缩写的多样性 星期四的缩写有两种形式,分别是

2025-04-24 资格考试

日本星期一到星期日的名称

​​日本的星期一到星期日名称融合了七曜日传统,源自古代天文观测与文化融合,其中以“日月火水木金土”为基准,保留了与太阳系天体对应的独特命名方式。​ ​ 日本现行的星期名称使用七曜体系,即以太阳、月亮及五大行星为基准,依次对应“日曜日(星期日)、月曜日(星期一)、火曜日(星期二)、水曜日(星期三)、木曜日(星期四)、金曜日(星期五)、土曜日(星期六)”。这种命名方式最早可追溯至古巴比伦的天文学传统

2025-04-24 资格考试

星期一到星期天用日语

以下是日语中星期一到星期天的完整表达及补充说明: 一、完整读法 星期一 :月曜日 (げつようび) 星期二 :火曜日 (かようび) 星期三 :水曜日 (すいようび) 星期四 :木曜日 (もくようび) 星期五 :金曜日 (きんようび) 星期六 :土曜日 (どようび) 星期日 :日曜日 (にちようび) 特殊说明 : 星期日也写作「日曜日」

2025-04-24 资格考试

星期一到星期日的英文前加什么

​​星期一到星期日的英文前通常加介词"on"​ ​,例如:on Monday(在星期一)、on Sunday(在星期日)。​​关键规则​ ​包括:① ​​固定搭配"on+星期名称"​ ​表示具体某一天;② ​​与this/next/last连用时省略介词​ ​(如this Friday);③ ​​复数形式可表经常性动作​ ​(如on Sundays指每周日)。 分点展开: ​​基础用法​ ​

2025-04-24 资格考试

日语星期一到星期日的记忆口诀

​​快速掌握日语星期表达的关键在于联想记忆法​ ​:通过“日月五行”的规律和趣味谐音,将抽象名称转化为具体画面,例如“月曜日(星期一)联想独月”、“火曜日(星期二)谐音‘恶火’对应数字二”。以下是三种高效记忆方法: ​​五行倒序法​ ​:从星期日(日曜日)和星期一(月曜日)出发,按“金→木→水→火→土”倒序对应星期五至二,星期六(土曜日)单独填充。例如: 星期五(金曜日)→“五金店发薪日”

2025-04-24 资格考试

星期一到星期日的日语读法

以下是日语中星期一到星期日的标准读法及补充说明: 一、星期名称读法 星期一 :月曜日 (げつようび) 星期二 :火曜日 (かようび) 星期三 :水曜日 (すいようび) 星期四 :木曜日 (もくようび) 星期五 :金曜日 (きんようび) 星期六 :土曜日 (どようび) 星期日 :日曜日 (にちようび) 补充说明 : 星期日也写作「日曜日」

2025-04-24 资格考试

周一至周五的状态

关于周一至周五的工作状态,综合多个权威来源的信息分析如下: 一、周一:周一综合征 身心俱疲 :早晨起床困难,身体和大脑需从周末的放松状态切换到工作模式,常出现"灌铅感"。 焦虑与压力 :面临新的一周计划和任务,需处理多项工作,易产生焦虑感。 情绪波动 :部分人会因"周末效应"的反差,对工作产生抵触情绪。 二、周二:拖延症高发期 惯性拖延 :经过周一的适应,部分人进入"拖延模式"

2025-04-24 资格考试

周内是从周一到周五

关于“周内”的定义,综合不同场景和语境,可以分以下两种情况理解: 一、时间范围定义 自然周 多数情况下,“周内”指 周一至周日 ,即一周的完整周期。例如: 任务需在本周内完成,可能要求周一至周日中的任何一天完成; 部分场景下特指 本周内 ,起始日根据地区或习惯不同,可能是周一或周日。 工作周 在工作场景中,“周内”通常指 周一至周五 ,对应40小时工作制。例如: 办公室任务需在周内提交

2025-04-24 资格考试

星期一到星期日值班表

‌星期一到星期日值班表是企事业单位用于安排员工轮流工作的排班工具,核心作用包括:确保岗位全天候有人值守、合理分配员工工作量、明确责任归属。关键亮点为:① 7天全覆盖无间隙;② 弹性排班兼顾效率与公平;③ 数字化管理提升透明度。 ‌ ‌1. 基础排班模式 ‌ • 固定轮班制:按"早中晚"三班划分,适用于24小时运营场所 • 单双休交替:将员工分为AB两组,分别执行单双休循环 • 动态调休制

2025-04-24 资格考试

表格星期一到星期日怎么自动生成

使用TEXT函数和填充柄 在Excel中自动生成星期一到星期日,可通过以下两种方法实现: 一、使用TEXT函数生成星期名称 输入基础数据 在A列输入日期,在B列输入公式=TEXT(DATE(A2,B2,1),"aaaa") (假设日期在A2),该公式将日期转换为中文星期名称(如周一、周二)。 填充柄扩展日期 将B2单元格的填充柄拖动至所需行数,日期将自动递增。 格式调整 将A列设为“日期”格式

2025-04-24 资格考试

星期一到星期日excel的排序

自定义序列排序 在Excel中按星期一到星期日排序可以通过以下两种方法实现: 一、使用自定义序列排序 准备数据 在单元格A1输入“星期一”,在A2输入“星期二”,依此类推输入到A8(或根据实际数据量调整行数)。确保每个星期名称后没有空格,并且每个名称占一整行。 选择数据区域 选中包含星期名称的列以及需要排序的日期列(例如B列)。 打开排序功能 点击“数据”选项卡 → “排序”

2025-04-24 资格考试

星期一到星期天表格的制作

要在Excel中制作一个从星期一到星期天的表格,你可以使用以下方法: 使用WEEKDAY函数 打开Excel表格,选择一个起始单元格,比如A1。 输入公式 =WEEKDAY(A1, 2) ,然后按回车键。这将返回A1单元格日期对应的星期几,其中2表示星期一为1,星期天为7。 将A1单元格的公式向下拖动7次,这样就会生成一个从星期一到星期天的序列。 使用TEXT函数和WEEKDAY函数

2025-04-24 资格考试

星期一到星期日的英语读法巧记

掌握星期一到星期日的英语读法其实很简单! 只需结合发音规律和联想记忆法,就能轻松记住Monday到Sunday的拼写与发音。以下是高效记忆的3个技巧: 拆分发音+联想 Monday(星期一) :谐音“忙day”,周一通常最忙碌。 Tuesday(星期二) :首字母“T”像锤子,联想“修东西的周二”。 Wednesday(星期三) :重点记“Wednes”(发音“wenz”),联想“中间日”。

2025-04-24 资格考试

星期一到星期日的英文汉语谐音

星期一到星期日的英文名称可以通过汉语谐音趣味记忆,比如Monday(忙day)、Tuesday(求死day)、Wednesday(未死day)等,结合发音和场景联想能快速掌握。 Monday(忙day) :谐音“忙嘚”,周一通常是工作或学习的第一天,大家开始忙碌,记忆为“忙day”贴切又形象。 Tuesday(求死day) :谐音“求死嘚”,周二距离周末较远,网友调侃“求死”表达煎熬感

2025-04-24 资格考试

英语从星期一到星期日的单词

英语中星期一到星期日的单词分别是:Monday(星期一)、Tuesday(星期二)、Wednesday(星期三)、Thursday(星期四)、Friday(星期五)、Saturday(星期六)、Sunday(星期日)。这些名称源于古英语、北欧神话和罗马传统,兼具历史与文化内涵。 Monday(星期一) 源自古英语“Mōnandæg”,意为“月亮日”,与罗马神话中的月亮女神Luna相关

2025-04-24 资格考试

星期一到星期日的英语快速记忆法

星期一到星期日的英语单词可以通过联想记忆法和规律总结法快速记忆,以下是一些 1.Monday(星期一):联想记忆法:可以将“Monday”拆分为“Mond”+“ay”,其中“Mond”可以联想到“Moon”(月亮),因为在西方文化中,星期一与月亮有关。规律总结法:星期一是一周的开始,可以记住“Monday”作为一周的第一个工作日。 2.Tuesday(星期二):联想记忆法

2025-04-24 资格考试

星期一到星期日的英语单词

​​星期一到星期日的英语单词是:Monday(周一)、Tuesday(周二)、Wednesday(周三)、Thursday(周四)、Friday(周五)、Saturday(周六)、Sunday(周日)。​ ​ 这些单词均以“day”结尾,源于古罗马神话和盎格鲁-撒克逊文化,融合了天文与神祇崇拜的历史背景。 ​​Monday(周一)​ ​:源自月亮神“Moon”,象征一周的开始

2025-04-24 资格考试

1一7星期几英语怎么说

​​星期一到星期日的英语表达为:Monday(星期一)、Tuesday(星期二)、Wednesday(星期三)、Thursday(星期四)、Friday(星期五)、Saturday(星期六)、Sunday(星期日)。​ ​ 掌握这些基础词汇是英语学习和日常交流的关键,尤其适用于日程安排、国际商务等场景。 ​​拼写与发音​ ​:注意首字母大写,如Wednesday读作[ˈwenzdeɪ]

2025-04-24 资格考试
查看更多
首页 顶部