在c++中,如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。用数字1到7对应星期一到星期日。给定某一天,请输出那天的“后天”是星期几。
时间: 2024-06-13 13:03:59 浏览: 19
题目要求根据输入的数字1到7对应星期一到星期日,输出这一天的“后天”是星期几。可以使用取模运算符%来实现,具体方法如下:
1.读入一个整数N,表示今天是星期N。
2.计算后天是星期几,即(N+2)%7,如果结果为0,则表示后天是星期日,需要特殊处理,即将结果赋值为7。
3.输出后天是星期几。
--代码示例--
```
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int M = (N + 2) % 7;
if (M == 0) {
M = 7;
}
cout << M << endl;
return 0;
}
```
相关问题
用C++输入一个1~7的整数分别对应着星期一至星期日,输出今天是星期几?
```c
#include <stdio.h>
int main() {
int day;
printf("请输入数字1~7,表示星期一至星期日:\n");
scanf("%d", &day);
switch(day) {
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;
case 7: printf("今天是星期日\n"); break;
default: printf("输入有误,请输入数字1~7\n"); break;
}
return 0;
}
```
用c++编写显示某年某月某日是星期几的代码,已知1980年1月1日 是星期二
以下是用C语言编写的代码:
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int total_days = 0;
for (int i = 1980; i < year; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
total_days += 366;
} else {
total_days += 365;
}
}
for (int i = 0; i < month - 1; i++) {
total_days += days[i];
if (i == 1 && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)) {
total_days += 1; // 闰年2月加1天
}
}
total_days += day - 1; // 当月天数要减1才能计算
int week_day = (total_days + 2) % 7; // 1980年1月1日是星期二
char* week_days[] = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
printf("%d年%d月%d日是%s\n", year, month, day, week_days[week_day]);
return 0;
}
```
该程序通过输入年份、月份和日期,计算出这一天是星期几。具体思路为:
1. 定义一个整型数组days,表示每个月的天数。
2. 通过循环累加出输入年份之前的总天数。
3. 再通过循环累加出输入月份之前的总天数。
4. 最后加上输入日期,得到总共的天数。
5. 用总天数加上1980年1月1日是星期二的偏移量,再取模7,即可得到这一天是星期几。
6. 最后输出结果,使用char*类型的数组week_days存储星期几的字符串,根据计算结果输出相应的字符串即可。
需要注意的是,闰年2月有29天,需要特判。另外,当月天数要减1才能计算。