又一个周末,我喜欢上了“杀人”!

      记得第一次玩“杀人”游戏,是在同学家中,7个人吧,一警一匪,当时没并没有觉得特别好玩---虽然很久以前就知道了这个游戏的高人气。

        晚上在船上的日子很无聊,晚饭吃得比食堂还差,菜太少,连咸菜都差点没有, 更可恶的是连大米饭都不能管够。本来正在想怎么度过这么无聊的日子,朋友来电说到有一群人已经开始在“杀人”了......

      一起找过去,正式加入了游戏,由于这是第二次玩这个游戏,理解错了规则,竟然以为只要警察指认对了匪徒,他就死了,所以接下来的一幕幕让我感到很不理解.....,并最终导致自己很快殉职! :)

      慢慢地,进入了角色。发现大家都很有意思,外号“师姐”的一直当法官,最后好不容易找到替代者加入游戏,结果每次都第一轮即被杀掉,一脸无辜和无奈......,有几个每一轮发言都会滔滔不绝地说上大半天--虽然我觉得他说的大部分都是废话,不过看他说得那么高兴,也挺有意思的;还有一开始每次都会长篇大论导致很快被大家投票“杀死”的最后变成了每一轮发言都是5个字--“我保持沉默”!

      2警2匪,比起1警1匪的游戏来,尽兴多了。刚开始我主要从警察和匪徒指认人时发出的声音来判断。但很快新人就注意到了这个问题,做到了杀人于无声,匪徒进步了,警察当然也不会落后。于是,我们只能从每个人的说话来判断的,进阶了...

      杀到凌晨1点半,才依依不舍地回船休息,第二天早餐完毕,有人开始斗地主。大家无聊中,于是提议继续“杀人”,得到热烈响应。

       大家顾不上欣赏沿途的风景,专心致致地“杀人”,我们这一拨人绝对是最整船人中最引人注目,闹得最凶的人。从早上一直杀到晚上,在是杀到凌晨。一点都不觉得累,只是觉得时间过得太快...

       回家了,周末一定要多发动些朋友,建立我们自己的“杀人”俱乐部!

       这个周末过得不错...

 

### 回答1: 好的,那么这是一个可以用来判断某个日期是否为周末的 C 语言函数: ``` #include <time.h> int is_weekend(int year, int month, int day) { // 将日期转换为 time_t 类型 struct tm tm = {0}; tm.tm_year = year - 1900; tm.tm_mon = month - 1; tm.tm_mday = day; time_t time = mktime(&tm); // 获取当前日期的星期 struct tm *local = localtime(&time); int wday = local->tm_wday; // 判断是否为周末 if (wday == 0 || wday == 6) { return 1; } else { return 0; } } ``` 使用方法:调用函数 `is_weekend(year, month, day)`,其中 year 为年份、month 为月份、day 为日。函数返回值为 1 时表示该日期为周末,返回值为 0 时表示不是周末。 例如,判断 2022 年 1 月 1 日是否为周末,可以这样调用函数: ``` int result = is_weekend(2022, 1, 1); if (result == 1) { printf("是周末\n"); } else { printf("不是周末\n"); } ``` 希望这个函数能够帮助到你。 ### 回答2: 可以使用以下的C语言函数来判断给定的日期是否为周末: ```c #include <stdio.h> // 判断给定日期是否为周末 int isWeekend(int year, int month, int day) { // 对于给定日期,我们需要先判断是否为周日 // 其余的周末日期都会比周日提前1或2天 // 所以只要判断是不是周日即可 // 公式 Zeller's Congruence // 改编自 https://en.wikipedia.org/wiki/Zeller%27s_congruence int h, q, m, k, j; q = day; m = month; if (m < 3) { m += 12; year--; } k = year % 100; j = year / 100; h = (q + 13*(m+1)/5 + k + k/4 + j/4 + 5*j) % 7; // 0表示周六, 1表示周日 if (h == 0 || h == 1) { return 1; } else { return 0; } } int main() { int year, month, day; printf("请输入日期(YYYY MM DD):"); scanf("%d%d%d", &year, &month, &day); if (isWeekend(year, month, day)) { printf("给定日期为周末"); } else { printf("给定日期不是周末"); } return 0; } ``` 这个函数使用了[Zeller's Congruence](https://en.wikipedia.org/wiki/Zeller%27s_congruence)的公式来计算给定日期的星期几,进而判断它是否为周末。在主函数中,我们通过用户输入获取要判断的日期,然后调用`isWeekend()`函数进行判断,最后输出结果。 ### 回答3: 以下是一个用C语言编写的函数,用于判断给定的日期是否是周末: ```c #include <stdio.h> #include <stdbool.h> bool isWeekend(int year, int month, int day) { // 根据日期计算出该天是星期几 int weekDay = 0; // 0表示星期日,1表示星期一,依此类推 int centuryCode = (year - 1) / 100 + 1; // 世纪码 int yearCode = (year - 1) % 100; // 年码 weekDay = (centuryCode / 4 - 2 * centuryCode + yearCode + yearCode / 4 + 13 * (month + 1) / 5 + day - 1) % 7; // 判断计算出的星期几是否是周末 if (weekDay == 0 || weekDay == 6) { return true; // 星期日或星期六为周末 } else { return false; // 其他工作日 } } int main() { int year, month, day; printf("请输入日期(以YYYY MM DD的格式输入):"); scanf("%d %d %d", &year, &month, &day); bool result = isWeekend(year, month, day); if (result) { printf("该日期是周末\n"); } else { printf("该日期是工作日\n"); } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值