计算某一天到现在的总天数c程序
时间: 2023-09-15 17:19:41 浏览: 40
以下是计算某一天到现在的总天数的C程序:
```c
#include <stdio.h>
#include <time.h>
int main()
{
time_t t = time(NULL);
struct tm tm = *localtime(&t);
int year, month, day;
printf("请输入某一天的日期(年 月 日,用空格隔开):");
scanf("%d %d %d", &year, &month, &day);
int days = 0;
for (int i = year; i <= tm.tm_year + 1900; i++)
{
int start_month = (i == year) ? month : 1;
int end_month = (i == tm.tm_year + 1900) ? tm.tm_mon + 1 : 13;
for (int j = start_month; j < end_month; j++)
{
int max_day = 31;
if (j == 4 || j == 6 || j == 9 || j == 11)
max_day = 30;
else if (j == 2)
{
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
max_day = 29;
else
max_day = 28;
}
if (i == tm.tm_year + 1900 && j == tm.tm_mon + 1)
max_day = tm.tm_mday;
int start_day = (i == year && j == month) ? day : 1;
int end_day = (i == tm.tm_year + 1900 && j == tm.tm_mon + 1) ? max_day + 1 : max_day;
for (int k = start_day; k < end_day; k++)
days++;
}
}
printf("总天数为:%d\n", days);
return 0;
}
```
在程序中,我们使用time函数获取当前时间,然后使用localtime函数将时间转换为本地时间,并获取当前年月日。接下来,我们通过scanf函数获取某一天的日期。
然后,我们使用三重循环计算总天数。外层循环遍历从输入的年份到当前年份的每一年,中间循环遍历每个月份,内层循环遍历每一天。在循环中,我们先计算出当前月份的最大天数,然后根据开始日期和结束日期计算出这个月份内的天数,最后累加到总天数中。
最后,我们输出总天数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)
![](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)