請問這個代碼哪里錯了?。?/h1>
#include <stdio.h>
int main()
{
??? /* 定義需要計算的日期 */
??? int year = 2008;
??? int month = 8;
??? int day = 8;
??? /*
???? * 請使用switch語句,if...else語句完成本題
???? * 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
???? * 小編還是希望大家獨立完成哦~
???? */
??? int sum,flag;
??? switch(month)
??? {
??????? case 1:sum=0;break;???
??????? case 2:sum=31;break;
??????? case 3:sum+=28;break;???????
??????? case 4:sum+=31;break;
??????? case 5:sum+=30;break;
??????? case 6:sum+=31;break;
??????? case 7:sum+=30;break;
??????? case 8:sum+=31;break;
??????? case 9:sum+=30;break;
??????? case 10:sum+=31;break;
??????? case 11:sum+=30;break;
??????? case 12:sum+=31;break;
??????? default: printf("一年只有十二個月");break;
??? }
??? sum=sum+day;
??? if(year%400==0||year%4==0 &&year%100!=0)
?????? flag=1;
??? else
?????? flag=0;
??? if(flag==1&&month>2)??
????? sum+=1;
????? 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;
??? /*
???? * 請使用switch語句,if...else語句完成本題
???? * 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
???? * 小編還是希望大家獨立完成哦~
???? */
??? int sum,flag;
??? switch(month)
??? {
??????? case 1:sum=0;break;???
??????? case 2:sum=31;break;
??????? case 3:sum+=28;break;???????
??????? case 4:sum+=31;break;
??????? case 5:sum+=30;break;
??????? case 6:sum+=31;break;
??????? case 7:sum+=30;break;
??????? case 8:sum+=31;break;
??????? case 9:sum+=30;break;
??????? case 10:sum+=31;break;
??????? case 11:sum+=30;break;
??????? case 12:sum+=31;break;
??????? default: printf("一年只有十二個月");break;
??? }
??? sum=sum+day;
??? if(year%400==0||year%4==0 &&year%100!=0)
?????? flag=1;
??? else
?????? flag=0;
??? if(flag==1&&month>2)??
????? sum+=1;
????? printf("%d年%d月%d日是該年中的第%d天",year, month, day, sum);
???
??? return 0;
}??
2018-08-28
沒有for循環,要把前幾個月份的天數累加,應該在switch外套個for循環,請參考。
#include?<stdio.h> int?main() ?{?????/*?定義需要計算的日期?*/???? ?????int?year?=?2008;???? ?????int?month?=?8;??? ??????int??day=8,day1=?8,i;??????? ???????/*?????*?請使用switch語句,if...else語句完成本題????? ???????*?如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”??? ?????????*?小編還是希望大家獨立完成哦~?????*/????? ?????????for(i=1;i<month;i++)????? ?????????{???????? ?????????????switch(i)???????? ?????????????????{???????????? ?????????????????????case?1:day+=31;???????????????????? ?????????????????????break;?????????????? ?????????????????????case?2:???????????? ?????????????????????if?((year%4==0&&year%100!=0)||year%400==0)???????????????? ?????????????????????????day+=29;???????????? ?????????????????????else????????????????? ?????????????????????????day+=28;???????????????? ?????????????????????????break;???????????? ??????????????????????case?3:day+=31;???????????????????? ??????????????????????break;???????????????????? ??????????????????????case?4:day+=30;???????????????????? ??????????????????????break;???????????? ??????????????????????case?5:day+=31;???????????????????? ??????????????????????break;???????????? ??????????????????????case?6:day+=30;???????????????????? ??????????????????????break;???????????? ??????????????????????case?7:day+=31;???????????????????? ??????????????????????break;???????????? ??????????????????????case?8:day+=31;???????????????????? ??????????????????????break;???????????? ??????????????????????case?9:day+=30;???????????????????? ??????????????????????break;???????????? ??????????????????????case?10:day+=31;??????????????????? ???????????????????????break;???????????? ???????????????????????case?11:day+=30;??????????????????? ???????????????????????break;???????????? ???????????????????????case?12:day+=31;???????????????????? ???????????????????????break;???????? ???????????????????}???? ???????????}????? ???????????printf("%d年%d月%d日是該年的第%d天",year,month,day1,day);? ???????????return?0; ?}