在c++中,如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。用数字1到7对应星期一到星期日。给定某一天,请输出那天的“后天”是星期几。
时间: 2024-06-13 22:03:59 浏览: 340
题目要求根据输入的数字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;
}
```
已知 1900 年 1 月 1 号是 星期一,请C++编程实现输出任意一个月的日历。
以下是一个使用C++编程实现的程序,它可以输出任意一个月的日历。已知1900年1月1日是星期一,程序会计算出给定年份和月份的第一天是星期几,然后根据该月的天数输出日历。
```cpp
#include <iostream>
using namespace std;
bool isLeapYear(int year) {
// 判断是否为闰年
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int getFirstDay(int year, int month) {
// 计算给定年份和月份的第一天是星期几
int daysPassed = 0;
for (int y = 1900; y < year; y++) {
daysPassed += isLeapYear(y) ? 366 : 365;
}
for (int m = 1; m < month; m++) {
switch (m) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
daysPassed += 31;
break;
case 4: case 6: case 9: case 11:
daysPassed += 30;
break;
case 2:
daysPassed += isLeapYear(year) ? 29 : 28;
break;
}
}
return (daysPassed + 1) % 7; // 1900年1月1日是星期一
}
int getMonthDays(int year, int month) {
// 获取给定月份的天数
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
return 31;
case 4: case 6: case 9: case 11:
return 30;
case 2:
return isLeapYear(year) ? 29 : 28;
default:
return 0;
}
}
void printCalendar(int year, int month) {
// 输出日历
cout << year << "年" << month << "月" << endl;
cout << "日\t一\t二\t三\t四\t五\t六" << endl;
int firstDay = getFirstDay(year, month);
int days = getMonthDays(year, month);
for (int i = 0; i < firstDay; i++) {
cout << "\t";
}
for (int day = 1; day <= days; day++) {
cout << day << "\t";
if ((firstDay + day) % 7 == 0) {
cout << endl;
}
}
cout << endl;
}
int main() {
int year, month;
cout << "请输入年份和月份: ";
cin >> year >> month;
printCalendar(year, month);
return 0;
}
```
这个程序首先定义了一个`isLeapYear`函数来判断是否为闰年,然后定义了一个`getFirstDay`函数来计算给定年份和月份的第一天是星期几,接着定义了一个`getMonthDays`函数来获取给定月份的天数,最后定义了一个`printCalendar`函数来输出日历。
阅读全文
相关推荐
















