#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
switch(month-1)
{
case 1:day+=31;
case 2:if(year%4==0&&year%100!=0) day+=29; else day+=28;
case 3:day+=31;
case 4:day+=30;
case 5:day+=31;
case 6:day+=30;
case 7:day+=31;
case 8:day+=31;break;
}
printf("%d年%d月8日,第%d天",year,month,day);
return 0;
}
要从case8开始到case1 全部倒过来才行,不然你现在是case7之前的都pass掉了,从case7开始执行,所以变成70。
#include <stdio.h> int main() { /* 定义需要计算的日期 */ int year = 2008; int month = 8; int day = 8; /* * 请使用switch语句,if...else语句完成本题 * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办” * 小编还是希望大家独立完成哦~ */ switch(1) { case 1:day+=31; case 2:if(year%4==0&&year%100!=0) day+=29; else day+=28; case 3:day+=31; case 4:day+=30; case 5:day+=31; case 6:day+=30; case 7:day+=31; } printf("%d",day); return 0; }
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int totalDay = 0;
int i = 0;
/*
* 请使用switch语句,if...else语句完成本题
* 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
* 小编还是希望大家独立完成哦~
*/
for(; i < month ; i++){
switch(i)
{
case 1: totalDay = totalDay + 31;
break;
case 2:
if(year % 4 == 0 & year % 100 != 0){
totalDay = totalDay + 29;
}else{
totalDay = totalDay + 28;
}
break;
case 3: totalDay = totalDay + 31;
break;
case 4: totalDay = totalDay + 30;
break;
case 5: totalDay = totalDay + 31;
break;
case 6: totalDay = totalDay + 30;
break;
case 7: totalDay = totalDay + 31;
break;
case 8: totalDay = totalDay + 31;
break;
case 9: totalDay = totalDay + 30;
break;
case 10: totalDay = totalDay + 31;
break;
case 11: totalDay = totalDay + 30;
break;
case 12: totalDay = totalDay + 31;
break;
}
}
printf("%d年%d月%d日是该年的第%d天\n",year,month,day,totalDay+day);
return 0;
}