已知今天是星期几用c++写一个计算后天是星期几的程序
时间: 2023-03-29 19:01:08 浏览: 142
您好,根据您的问题,我可以回答。以下是计算后天是星期几的程序:
#include <stdio.h>
int main() {
int today, afterTomorrow;
printf("请输入今天是星期几(1-7):");
scanf("%d", &today);
afterTomorrow = (today + 2) % 7;
if (afterTomorrow == ) {
afterTomorrow = 7;
}
printf("后天是星期%d\n", afterTomorrow);
return ;
}
希望能够帮到您!
相关问题
计算某年某月某日是星期几。用c++写一下这个程序
以下是用C语言编写的计算某年某月某日是星期几的程序:
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("请输入年月日,格式为年 月 日,例如:2021 10 1\n");
scanf("%d %d %d", &year, &month, &day);
// 计算当天的星期数
int century = year / 100;
int yearInCentury = year % 100;
int week = (century / 4 - 2 * century + yearInCentury + yearInCentury / 4 + 13 * (month + 1) / 5 + day - 1) % 7;
// 输出结果
switch (week) {
case 0:
printf("%d年%d月%d日是星期日\n", year, month, day);
break;
case 1:
printf("%d年%d月%d日是星期一\n", year, month, day);
break;
case 2:
printf("%d年%d月%d日是星期二\n", year, month, day);
break;
case 3:
printf("%d年%d月%d日是星期三\n", year, month, day);
break;
case 4:
printf("%d年%d月%d日是星期四\n", year, month, day);
break;
case 5:
printf("%d年%d月%d日是星期五\n", year, month, day);
break;
case 6:
printf("%d年%d月%d日是星期六\n", year, month, day);
break;
}
return 0;
}
```
程序中使用了基姆拉尔森计算公式来计算当天的星期数。这个公式的原理是根据已知日期的年份、月份和日期,计算出该日期是自格林威治时间公元 2000 年 1 月 1 日 12 时(即星期六)以来的天数,然后再根据天数与星期数之间的关系,推算出当天的星期数。
已知2021.1.1日是星期五,计算任意一天是星期几
方法1:使用基姆拉尔森计算公式
基姆拉尔森计算公式是一种常用的计算星期几的方法,公式如下:
w = (d+2m+3(m+1)/5+y+y/4-y/100+y/400) mod 7
其中,w表示星期几(0表示周日,1表示周一,...,6表示周六),d表示日期,m表示月份(3表示3月,4表示4月,...,14表示2月),y表示年份的前两位数。
以计算2022年6月15日是星期几为例,使用上述公式,得到:
w = (15 + 2x5 + 3x6 + 6 + 6/4 - 6/100 + 6/400) mod 7
= (15 + 10 + 9 + 6 + 1 - 0 + 0) mod 7
= 41 mod 7
= 6
因此,2022年6月15日是星期六。
方法2:根据日历表推算
通过观察日历表,可以发现每个月的1号对应的星期几是固定的。因此,可以通过推算一天一天过去,来确定任意一天是星期几。
以计算2022年6月15日是星期几为例,可以先确定2022年6月1日是星期三,然后再计算出到15日一共经过了14天,即:
6月1日 —— 3
6月2日 —— 4
6月3日 —— 5
6月4日 —— 6
6月5日 —— 0
6月6日 —— 1
6月7日 —— 2
6月8日 —— 3
6月9日 —— 4
6月10日 —— 5
6月11日 —— 6
6月12日 —— 0
6月13日 —— 1
6月14日 —— 2
6月15日 —— 3
因此,2022年6月15日是星期三。