用C语言编写程序,以“yyyy-mm-dd”格式输入年月日,输出是该年的第几天,程序可不考虑输入数据错误。 【输入形式】 以“yyyy-mm-dd”格式输入年月日。 【输出形式】 输出年月日是该年的第几天。 【样例输入1】: 2016-3-4 【样例输出1】: 64 【样例输入2】: 2017-3-4 【样例输出2】: 63
时间: 2023-06-16 08:06:20 浏览: 217
c语言输入年月日,输出这是一年中的第几天
以下是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int year, month, day;
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;
// 判断是否是闰年,如果是且月份大于2月,则要加1
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
if (month > 2) {
days++;
}
}
printf("%d", days);
return 0;
}
```
程序思路:
1. 读入年月日;
2. 计算该月之前的天数;
3. 加上该月的天数;
4. 判断是否是闰年,如果是且月份大于2月,则要加1;
5. 输出结果。
阅读全文