用switch语句编写:输入一个日期,查找是这一年的第几天
时间: 2023-05-30 12:05:12 浏览: 197
java 输入某年某月某日,判断这一天是这一年的第几天
以下是用switch语句编写的代码:
```c
#include <stdio.h>
int main() {
int year, month, day, days;
printf("请输入日期(格式为YYYY/MM/DD):");
scanf("%d/%d/%d", &year, &month, &day);
switch (month) {
case 1: days = day; break;
case 2: days = 31 + day; break;
case 3: days = 59 + day; break;
case 4: days = 90 + day; break;
case 5: days = 120 + day; break;
case 6: days = 151 + day; break;
case 7: days = 181 + day; break;
case 8: days = 212 + day; break;
case 9: days = 243 + day; break;
case 10: days = 273 + day; break;
case 11: days = 304 + day; break;
case 12: days = 334 + day; break;
default: printf("输入错误!\n"); return 0;
}
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
if (month > 2) days++;
}
printf("这一年的第%d天\n", days);
return 0;
}
```
该代码首先要求用户输入一个日期,然后使用switch语句根据月份计算出这一天是该年的第几天。如果输入的月份不是1-12之间的整数,则输出错误信息并结束程序。最后,如果该年是闰年且输入的月份大于2,则该天要加1。最后输出计算结果。
阅读全文