c语言用数组从键盘上输入某年某月某日,判断这一天是这一年的第几天
时间: 2023-11-20 15:07:11 浏览: 46
```c
#include<stdio.h>
int main()
{
int year, month, day;
int i, leap = 0, sum = 0;
int a[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
printf("请输入年月日:\n");
scanf("%d%d%d", &year, &month, &day);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
leap = 1; // 判断是否为闰年
}
if (month < 1 || month > 12 || day < 1 || day > 31) {
printf("输入的日期有误!\n");
return 0;
}
a[2] = 28 + leap; // 修改二月的天数
for (i = 1; i < month; i++) {
sum += a[i]; // 累加前面月份的天数
}
sum += day; // 加上当前月份的天数
printf("%d年%d月%d日是%d年的第%d天。\n", year, month, day, year, sum);
return 0;
}
```
使用数组存储每个月份的天数,通过累加得到这一天是这一年的第几天。注意闰年的判断和二月的天数需要特殊处理。