c语言计算天数按照yyyy/mm/dd格式输入年月日计算其是该年第几天
时间: 2023-08-10 20:04:43 浏览: 128
好的,这是一个比较简单的问题。下面是一个 C 语言程序,可以根据用户输入的年月日(格式:yyyy/mm/dd)计算该日期是该年的第几天:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char date[11];
int year, month, day, sum = 0, i;
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入年月日(格式:yyyy/mm/dd):");
scanf("%s", date);
// 使用字符串分割函数 strtok() 将年月日分割出来
char *p = strtok(date, "/");
year = atoi(p);
p = strtok(NULL, "/");
month = atoi(p);
p = strtok(NULL, "/");
day = atoi(p);
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
days[1] = 29;
}
// 计算天数
for (i = 0; i < month - 1; i++)
{
sum += days[i];
}
sum += day;
printf("该日期是该年的第 %d 天\n", sum);
return 0;
}
```
程序中使用了一个字符串 `date` 来存储用户输入的日期,然后使用字符串分割函数 `strtok()` 将年月日分割出来。接下来的计算方法与之前的程序相同。需要注意的是,由于使用了字符串分割函数,程序需要包含头文件 `stdlib.h` 和 `string.h`。
相关推荐
![](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)