小白易懂题解
2026-07-17 15:09:48
发布于:福建
49阅读
0回复
0点赞
先说思路
这道题可以用暴力枚举
我们可以创建一个字符串数组 string a[8]={"0","MON","TUE","WED","THU","FRI","SAT","SUN"};
(这里不使用下标0 便于后面计算,下标 1~7 一一对应周一到周日)
按照题目要求 输入s 和 k (注意s要用 string 类型)
创建一个i,表示星期i
接着暴力枚举 查找a[i]中与输入的s相符的项
例如:
s="MON"
a[1]=s 此时i=1 所以此时i的值就代表现在是星期i
因为 i+k的和与7取余可以得到k天之后是星期几(星期7天一循环) 所以直接写 i=(i+k)%7
同时 要注意(i+k)%7为0的情况 也就是k天之后为星期日
所以要特判 (i+k)%7是否为0 如果是,i=7
说到这思路已经很清晰了 最后输出 a[i] 即可
代码如下:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a[8]={"0","MON","TUE","WED","THU","FRI","SAT","SUN"};
string s;
long long k;
cin >> s >> k;
int i=1;
for(;i<=7;i++){
if(a[i]==s) break;
}
i=(i+k)%7;
if(i==0) i=7;
cout << a[i];
}
这里空空如也






有帮助,赞一个