#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum = 0;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
do
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
sum+=31;
break;
case 2:
if(year%4==0&&year%100!=0||year%400==0)
{
sum+=29;
}
else
{
sum+=28;
}
break;
default:
sum+=30;
break;
}
}while(month>=2);
printf("%d",sum);
return 0;
}
你swtich里面是month = 8,对应 执行case8里面的代码
所以对于你case2 里面的判定 拿到外面来 对sum进行运算
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum = 0;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
do
{
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
sum = 31 + 31 + 30 + 31 + 30 + 31 + day;
break;
default:
printf("只有十二个月");
break;
}
} while (month <= 2);
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
sum += 29;
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
}
else
{
sum += 28;
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
}
return 0;
}
高手就是高手
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum = 0;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
if (month > 2)
{
do
{
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
sum = 31 + 31 + 30 + 31 + 30 + 31 + day;
break;
default:
printf("只有十二个月");
break;
}
} while (month <= 2);
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
sum += 29;
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
}
else
{
sum += 28;
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
}
}
else
{
if (month = 1)
{
sum = day;
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
}
else
{
sum = 31 + day;
printf("%d年%d月%d日是该年的第%d天", year, month, day, sum);
}
}
return 0;
}
这样写 比较复杂 但是应该可以 我也C萌新