#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
int main()
{
int year = 2008; int month = 8; int day1 = 8; //年月日
int day = 0; //每月
int num = 0; //共计
/* printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day1);*/
if (year > 0 && month > 0 && month <= 12 && day1 > 0 && day1 <= 31) //判断日期是否输入正确
{
//如果是一月直接输出day1
if (month == 1)
{num == 0;}
else{
for (int i = 1; i < month; i++)
{
switch (i)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
day = 31;
break;
case 2:
if (year % 4 == 0 && year % 100 != 0) { day = 29; }
else { day = 28; }
break;
default: day = 30; break;
}num += day;
}
}
printf("%d年%d月%d日 是一年中第%d天", year, month, day, num + day1);
}
else { printf("输入错误!"); }
return 0;
}
但你这个完全不需要用switch了
写的很严谨诶
写的比较复杂,根据给出的答案可以判断,不用太纠结!