已知今天是星期二,问 n 天后是星期几(n>=0)。程序输入 n,输出“Monday"、"Tuesday"、"Wednesday"、"Thursday"、"Friday"、"Saturday"或"Sunday"
时间: 2023-09-26 15:08:02 浏览: 172
```python
n = int(input()) # 输入天数
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] # 定义星期列表
index = (n % 7 + 1) % 7 # 计算星期下标
print(days[index]) # 输出星期
```
解释:
根据题意,我们需要先输入一个天数 n,然后计算 n 天后是星期几。因为一周有七天,所以 n 天后的星期与 n % 7 天后的星期相同。我们可以将 n % 7 的结果作为下标,从星期列表中取出对应的星期。但是需要注意的是,题目中给定的是星期二,而不是星期一,所以我们需要将下标加 1,再对 7 取模,得到正确的下标。最后输出对应的星期即可。
相关问题
用C语言实现:输入年月日,输出当天是星期几的英文单词(Monday…)。注:已知2000年1月1日是星期天
在C语言中,我们可以使用蔡勒公式(Zeller's congruence)来计算给定日期对应的星期。这个公式如下:
```c
int dayOfWeek(int year, int month, int day) {
if (month < 3) {
month += 12;
year--;
}
int h = (day + (13 * (month + 1) / 5) + year + (year / 4) - (year / 100) + (year / 400)) % 7;
switch (h) {
case 0: return "Sunday";
case 1: return "Monday";
case 2: return "Tuesday";
case 3: return "Wednesday";
case 4: return "Thursday";
case 5: return "Friday";
case 6: return "Saturday";
}
}
```
这里我们首先调整月份(如果一月或二月,则将月份加12并将年份减1),然后应用蔡勒公式计算出星期数(范围0-6,其中0表示周日)。最后通过switch语句返回相应的英文单词。
你可以使用类似这样的函数来获取任何给定日期的星期:
```c
#include <stdio.h>
int main() {
int year = 2000;
int month = 1;
int day = 1;
printf("For the date %d-%d-%d, it's %s.\n", year, month, day, dayOfWeek(year, month, day));
return 0;
}
```
如果你想让用户输入年、月、日,你可以替换`main`函数中的`year`, `month`, 和 `day`变量,并添加输入处理部分。
已知某月的第一天是星期三,编写程序实现输入当月中的一个日期号,输出是星期几。使用枚举类型来定义一个星期中的每一天。用基础入门的C++语言来编写这个程序并添加注释
在C++中,我们可以使用基本的算术和模运算来解决这个问题,结合枚举类型定义一周中的每一天。下面是一个简单的程序示例:
```cpp
#include <iostream>
using namespace std;
// 定义枚举类型表示一周中的每一天
enum class Weekday {
Monday = 0,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
// 计算给定日期相对于一个月第一天的偏移量,并返回对应的星期
Weekday getDayOfWeek(int dayOfMonth, int month) {
// 根据月份和第一天是星期三来计算偏移量
const int firstDayOffset = (month - 1) * 7 + static_cast<Weekday>(Wednesday); // 因为假设第一个星期三是0
// 一周有7天,所以计算剩余的天数
return static_cast<Weekday>((dayOfMonth - 1) % 7 + firstDayOffset);
}
int main() {
int inputDay; // 输入的日期
cout << "请输入该月中的日期(1-31):";
cin >> inputDay;
// 输入月份,这里为了简化示例,可以固定为一月(因为题目没有说明)
int inputMonth = 1;
// 获取该日期对应的星期
Weekday weekday = getDayOfWeek(inputDay, inputMonth);
// 输出结果
switch (weekday) {
case Weekday::Monday:
cout << "这一天是星期一" << endl;
break;
case Weekday::Tuesday:
cout << "这一天是星期二" << endl;
break;
// ...以此类推,直到Sunday
default:
cout << "这一天是星期" << static_cast<int>(weekday) << endl;
}
return 0;
}
```
阅读全文
相关推荐













