用C语言编写编写代码实现以下功能: 1、输入某一年某一月某一天,计算该天是当年的第几天并输出。 2、当输入的是2023年的某月某天时,计算当天是星期几并输出。 答案提交:
时间: 2023-04-09 12:03:49 浏览: 137
以下是 ChatGPT 的回答:
1、以下是 C 语言代码实现:
#include <stdio.h>
int main() {
int year, month, day;
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; // 每个月的天数
int sum = 0;
printf("请输入年月日,格式为 yyyy mm dd:");
scanf("%d %d %d", &year, &month, &day);
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days[2] = 29;
}
// 计算天数
for (int i = 1; i < month; i++) {
sum += days[i];
}
sum += day;
printf("该天是当年的第 %d 天。\n", sum);
return 0;
}
2、以下是 C 语言代码实现:
#include <stdio.h>
int main() {
int year = 2023, month, day;
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; // 每个月的天数
int sum = 0;
printf("请输入月日,格式为 mm dd:");
scanf("%d %d", &month, &day);
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days[2] = 29;
}
// 计算天数
for (int i = 1; i < month; i++) {
sum += days[i];
}
sum += day;
// 计算星期几
int week = (sum + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;
char *weekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
printf("该天是 %s。\n", weekdays[week]);
return 0;
}
注意:以上代码仅供参考,可能存在错误或不足之处,使用时请自行验证。
阅读全文