C语言输入2023年的1月1 日到3月21日之间的任意一天的日期,输出这一天星期几?如输入: 2023年3月1日,输出2023年3月1日星期三。
时间: 2023-05-17 21:04:35 浏览: 67
可以使用C语言中的time.h库和相关函数来实现这个功能。以下是示例代码:
```c
#include <stdio.h>
#include <time.h>
int main()
{
int year, month, day;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
struct tm timeinfo = {0};
timeinfo.tm_year = year - 1900;
timeinfo.tm_mon = month - 1;
timeinfo.tm_mday = day;
time_t time = mktime(&timeinfo);
char* weekday = asctime(localtime(&time));
printf("%d年%d月%d日是%s", year, month, day, weekday);
return 0;
}
```
输入示例:2023年3月1日
输出示例:2023年3月1日是Wed Mar 1 00:00:00 2023
其中,asctime函数将时间转换为字符串,localtime函数将时间转换为本地时间。
相关问题
编写一个C语言程序,输入2023年的1月1日到3月21日之间的任意一天的日期,输出这一天星期几?如输入:2023年3月1日,输出2023年3月1日星期三。
好的,这是一个比较简单的问题,以下是C语言程序的代码:
```
#include <stdio.h>
int main()
{
int year, month, day;
printf("请输入日期(格式:年 月 日):");
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) {
if (month > 2) {
sum++;
}
}
int weekday = (year + year / 4 - year / 100 + year / 400 + sum) % 7;
char *weekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
printf("%d年%d月%d日是%s\n", year, month, day, weekdays[weekday]);
return 0;
}
```
这个程序可以计算输入日期是星期几,其中使用了基本的日期计算方法和蔡勒公式。
C语言输入2023年1月1日前后一年内的任意一天的完整日期,输入2023--4, 输出:“2023年4月日星期二”。(用Switch语句做)。
```c
#include <stdio.h>
int main() {
int year, month, day;
printf("请输入2023年1月1日前后一年内的任意一天的完整日期(格式:年 月 日):\n");
scanf("%d %d %d", &year, &month, &day);
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 weekday = (days + 2) % 7;
printf("%d年%d月%d日是", year, month, day);
switch (weekday) {
case 0:
printf("星期日\n");
break;
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;
default:
break;
}
return 0;
}
```
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)