#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int num;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
month-=1;
switch(month)
{
case 12:num+31;
case 11:num+30;
case 10:num+31;
case 9:num+30;
case 8:num+31;
case 7:num+31;
case 6:num+30;
case 5:num+31;
case 4:num+30;
case 3:num+31;
case 2:if(year%4==0|| year%1000!=0)
{
num+=29;
}
else
{
num+=28;
}
case 1:num+31;
num+=8;
printf("2008年8月8日是该年中的第%d天",num);
break;
}
这个num累加要重一月份开始,month-=1就错了,case12中的num要前面的月份天数累加,你搞反了
你的num是输出值,那就要累加,可是你每个case中num值都重置的,没实现累加啊
你这个思想就错了