设置一个c++程序,要求通过算出与1年1月1日(星期一)的天数差来计算输入日期是星期几并输出
时间: 2024-04-30 19:24:55 浏览: 94
以下是一个简单的 C++ 程序,通过计算输入日期与 1 年 1 月 1 日的天数差来确定输入日期是星期几:
```c++
#include <iostream>
using namespace std;
int main() {
int year, month, day;
cout << "请输入日期(格式为 YYYY-MM-DD):" << endl;
scanf("%d-%d-%d", &year, &month, &day);
// 计算日期与 1 年 1 月 1 日的天数差
int days = 0;
for (int i = 1; i < month; i++) {
if (i == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days += 29;
} else {
days += 28;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
days += 30;
} else {
days += 31;
}
}
days += day - 1;
// 计算星期几
int week = (days + 1) % 7;
string weekday;
switch (week) {
case 0:
weekday = "星期天";
break;
case 1:
weekday = "星期一";
break;
case 2:
weekday = "星期二";
break;
case 3:
weekday = "星期三";
break;
case 4:
weekday = "星期四";
break;
case 5:
weekday = "星期五";
break;
case 6:
weekday = "星期六";
break;
}
// 输出结果
cout << year << "年" << month << "月" << day << "日是" << weekday << endl;
return 0;
}
```
程序先要求用户输入日期,然后通过循环计算日期与 1 年 1 月 1 日的天数差,接着通过计算天数差除以 7 的余数来确定星期几,并输出结果。
阅读全文