這一天到底是一年中的第幾天?
我們來用c語言實現。
#define _crt_secure_no_warnings
#include
int main()
;printf("請輸入你要查詢的日期:");
scanf("%d %d %d", &year, &month, &day);
printf("你要查詢的日期是%d年%d月%d日", year, month, day);
if (year <= 0 || month <= 0 || day <= 0)//資料合法性判斷
printf("data error!");
else
else
}if((isleap!=1)&&(month==2)&&(day==29))//合法性判斷,如果這一年不是閏年,但你也輸入2月29,就會報錯
printf("\n輸入的日期有誤!");
if (month == 1)
printf("該天是這一年的第%d天", day);
if(month>1&&!((isleap != 1) && (month == 2) && (day == 29)))
int sumday = sum + day;
printf("該天是這一年的第%d天", sumday);}}
system("pause");
return 0;
}我的**的執行環境:win8.1,visual stdio 2015.第一行**是防止scanf函式在vs2015中出現警告,是用來消除警告的。
看到這個問題,我覺得最重要的就是對閏年的判斷,即能被4整除且不能被100整除或者是能被400整除這個條件。當然,你要查的日期在2月28日之前,判斷不判斷並無所謂,但是,之後的日子你若不判斷可能就會出問題了。
其實,作為學計算機的學生,程式的邏輯思維一定得嚴密,即就是輸入的數在一定範圍,得有意義,所以要進行容錯性判斷。每月的天數存在陣列中,當然你也可以不用陣列,利用switch語句實現。
邏輯運算子的使用會使程式條理性更強。
計算某一天是這一年中的第幾天
問題描述 定義乙個結構體變數 包括年月日 計算該日在本年中是第幾天?樣例輸入 2016 12 31 樣例輸出 366 includebool isleapyear int year 判斷這一年是否是閏年 int calday int year 計算天數 struct day int monthday...
輸入日期並判斷這一天是這一年的第幾天
給出年月日 顯示是今年的第幾天 需要判斷是否是閏年 2月份有 28天 29天之分 示例 20160818 是今年的第 天 step1 判斷是否是閏年 def checkyear year if year 400 0 year 4 0 year 100 0 return 1 else return 0...
已知某一年的第幾周的第幾天 求出這一天的具體日期
include include intisleap int year int monthdays 2 13 int main void int k sum 7 year 1年12月最後一天是星期幾 int kkk week 1 7 day k int m 1 int leap 0 if isleap...