用c语言写一个代码,要求输入某年某月某日,输出它是这一年的第几天
时间: 2023-09-13 11:08:09 浏览: 104
可以参考以下代码:
```
#include <stdio.h>
int isLeapYear(int year) // 判断是否是闰年
{
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main()
{
int year, month, day;
int day_of_year = 0;
printf("请输入年月日:\n");
scanf("%d%d%d", &year, &month, &day);
// 计算当前日期之前的天数
for (int i = 1; i < month; i++) {
switch (i) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
day_of_year += 31;
break;
case 4: case 6: case 9: case 11:
day_of_year += 30;
break;
case 2:
day_of_year += isLeapYear(year) ? 29 : 28;
break;
}
}
// 加上当前日的天数
day_of_year += day;
printf("%d年%d月%d日是这一年的第%d天\n", year, month, day, day_of_year);
return 0;
}
```
注意:上面的代码没有进行输入格式的检查,如果输入的年月日格式不正确,程序可能会崩溃。
阅读全文