用c语言编程:计算未来天数和星期:输入未来某天的日期,输出距今天还有多少天?是星期几?
时间: 2024-05-01 17:22:07 浏览: 254
以下是用 C 语言编写的计算未来天数和星期的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int year, month, day;
printf("请输入未来某天的日期(年 月 日):");
scanf("%d %d %d", &year, &month, &day);
// 获取当前时间
time_t t = time(NULL);
struct tm now = *localtime(&t);
// 计算距离未来日期的天数
struct tm future = {0};
future.tm_year = year - 1900;
future.tm_mon = month - 1;
future.tm_mday = day;
time_t future_time = mktime(&future);
double diff_seconds = difftime(future_time, t);
int diff_days = (int)(diff_seconds / (24 * 3600));
// 计算未来日期是星期几
int future_weekday = (now.tm_wday + diff_days) % 7;
printf("距今天还有 %d 天,是星期 %d\n", diff_days, future_weekday);
return 0;
}
```
程序运行后,会提示用户输入未来某天的日期。然后,程序会获取当前时间,并计算出距离未来日期的天数和未来日期是星期几。最后,程序会输出计算结果。
注意,在计算未来日期是星期几时,需要使用当前时间的星期几和距离未来日期的天数来计算。这里使用了 `%` 运算符来计算未来日期是星期几。
阅读全文