编写一个c++程序,计算某一天是星期几
时间: 2023-06-01 08:03:50 浏览: 128
```
#include <stdio.h>
int main() {
int year, month, day;
printf("请输入年月日,格式为YYYY-MM-DD:");
scanf("%d-%d-%d", &year, &month, &day);
int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; // 存储每个月的天数
int sum = 0;
for (int i = 1; i < month; i++) {
sum += days[i];
}
sum += day;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
// 如果是闰年,并且输入的月份大于2月,要加上一个闰年的2月29日
if (month > 2) {
sum += 1;
}
}
// 计算该日期是星期几,0表示星期日,1表示星期一,以此类推
int weekday = (year - 1) % 7;
for (int i = 1; i < year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
weekday += 2;
} else {
weekday += 1;
}
}
weekday += sum - 1;
printf("%d-%d-%d是星期%d\n", year, month, day, weekday % 7);
return 0;
}
```
该程序先让用户输入一个日期,然后计算该日期是一年中的第几天,再根据这个天数和该年的闰年情况计算出该日期是星期几。程序中使用了数组存储每个月的天数,使用了循环计算天数和星期几。
阅读全文