输入某年某月某日,判断这一天是这一年的第几天? 使用switch实现
时间: 2023-11-20 22:52:19 浏览: 86
java 输入某年某月某日,判断这一天是这一年的第几天
这个问题可以使用switch语句来实现。首先,我们需要根据输入的月份计算出前几个月的天数之和,然后再加上输入的日期。如果是闰年且输入的月份大于2月,还需要再加上1天。下面是一个使用switch语句实现的示例代码:
```
#include <stdio.h>
int main() {
int year, month, day, sum = 0, leap = 0;
printf("请输入年、月、日,格式为:年,月,日(2022,1,1)\n");
scanf("%d,%d,%d", &year, &month, &day);
switch (month) {
case 1:
sum = day;
break;
case 2:
sum = 31 + day;
break;
case 3:
sum = 59 + day;
break;
case 4:
sum = 90 + day;
break;
case 5:
sum = 120 + day;
break;
case 6:
sum = 151 + day;
break;
case 7:
sum = 181 + day;
break;
case 8:
sum = 212 + day;
break;
case 9:
sum = 243 + day;
break;
case 10:
sum = 273 + day;
break;
case 11:
sum = 304 + day;
break;
case 12:
sum = 334 + day;
break;
default:
printf("输入的月份有误!\n");
return 0;
}
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
leap = 1;
}
if (leap == 1 && month > 2) {
sum++;
}
printf("这一天是这一年的第%d天。\n", sum);
return 0;
}
```
阅读全文