研究了一小時看了看別人的參照了下,哪里還能在修改下變簡單點
看到有些人的都是挺短的,可以講解下嗎?尤其是有些人清一色寫sum+=31好像是這樣的?忘了,不太理解
#include<stdio.h>
int main()
{
??? int year=2008;
?int month=8;
?int day=8;
?int j,sum;
?if(2008%4==0&&2008||100!=0&&2008%400==0)
?{
??printf("2008年是閏年\n",j=29);
?}
?else
?{
??printf("2008年是平年\n",j=28);
?}
?switch(month-1)
?{
?case 1:
??sum=31+day;
??break;
?case 2:
??sum=j+31+day;
??break;
?case 3:
??sum=31+j+31+day;
??break;
?case 4:
??sum=31+j+31+30+day;
??break;
?case 5:
??sum=31+j+31+30+31+day;
??break;
?case 6:
??sum=31+j+31+30+31+30+day;
??break;
?case 7:
??sum=31+j+31+30+31+30+31+day;
??break;
?case 8:
??sum=31+j+31+30+31+30+31+31+day;
??break;
?case 9:
??sum=31+j+31+30+31+30+31+31+30+day;
??break;
?}
?printf("2008年8月8日是該年的第%d天\n",sum);
?return 0;
}
2016-02-12
有些人寫的很短是因為他們有的是直接寫出結(jié)果天數(shù),如1月加2月、1月+2月+3月 如此推下去,還有的清一色寫sum+=31應(yīng)該是不行的,最后的答案是不對的,其實這個我也想了很久有沒有其他方法編寫,可惜沒想出。如果有不明可以問我,我每天都會上的
2016-02-22
這個是在別的問題中看到的回答,代碼簡單又很高效,也不用自己把每個月份都加起來
#include?<stdio.h>
int?main()?
{?
????/*?定義需要計算的日期?*/
????int?year?=?2008;
????int?month?=?8;
????int?day?=?8;
????/*
?????*?請使用swtich語句,if...else語句完成本題
?????*?如有想看小編思路的,可以點擊左側(cè)任務(wù)中的“不會了怎么辦”
?????*?小編還是希望大家獨立完成哦~
?????*/
????int?date?=?0;
????switch?(month)
????{
????????case?12:????date?+=?30;
????????case?11:????date?+=?31;
????????case?10:????date?+=?30;
????????case?9:????date?+=?31;
????????case?8:????date?+=?31;
????????case?7:????date?+=?30;
????????case?6:????date?+=?31;
????????case?5:????date?+=?30;
????????case?4:????date?+=?31;
????????case?3:????if(year%400?!=?0?&&?year%4?==?0){
????????????????????????date?+=?29;
????????????????????}else{
????????????????????????date?+=?28;}
????????case?2:????date?+=?31;
????????default:????date?+=?8,printf("2008年8月8日是該年的第%d天",date);break;
????}
????return?0;
}
? ?