定義一個(gè)12元素的int型數(shù)組存放1月份至12月份每個(gè)月的天數(shù);
創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營(yíng)銷網(wǎng)站、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、手機(jī)網(wǎng)站開(kāi)發(fā)、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為廣告設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站設(shè)計(jì)服務(wù)。
根據(jù)輸入的年份判斷是否為閏年,對(duì)上述數(shù)組中2月份的天數(shù)進(jìn)行調(diào)整;
判斷年份大于0、月份大于0小于13、日期大于0小于等于月份對(duì)應(yīng)的天數(shù)為正確輸入,否則為錯(cuò)誤輸入。
代碼如下:
#include?"stdio.h"
int?main(int?argc,char?*argv[]){
int?y,m,d,md[12]={31,28,31,30,31,30,31,31,30,31,30,31};//md是每月天數(shù)數(shù)組
printf("Please?enter?the?year,?month,?day(separated?by?'?')...\n");
scanf("%d%d%d",y,m,d);
md[1]?=?y%4==0??y%100?||?y%400==0???29?:?28;//閏年調(diào)整
if(y0??m0??m13??d0??d=md[m-1])//判斷輸入是否正確
printf("Your?input?is?correct!\n");//正確輸出
else
printf("Error...\n");//錯(cuò)誤輸出
return?0;
}
運(yùn)行樣例如下:
首先這個(gè)函數(shù)的輸入是什么?
(年,月,日)
當(dāng)不考慮閏年時(shí),只須(月,日)
然后先考查月的取值范圍(1~12)的整數(shù)
此時(shí)可以進(jìn)行第一步判斷
接下來(lái),你要作的很簡(jiǎn)單
比如你可以用個(gè)switch來(lái)作這些事情
比如我來(lái)作:
switch(月)
case 1,3,5,7,8,10,12:
return (日 0 日 = 31) ?true:false; break;
case 4,6,9,11:
return (日 0 日 = 30) ?true:false; break;
case 2:
return (日 0 日 = 28) ?true:false; break;
defalts:
...............
另外若加上閏年的情況也不會(huì)很復(fù)雜,只是須要以年來(lái)判斷是不是閏年,然后把那個(gè)28改成一個(gè)返回函數(shù)即可
#include stdio.h
#include stdlib.h
static int daytable[2][13] = {
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
/* Get the days from year month day */
void get_day ( int year, int *dayofyear, int month, int day )
{
int i, leap;
leap = (( year % 4 == 0 ) ( year % 100 != 0 ) || ( year % 400 == 0 ));
*dayofyear = 0;
for (i=1;i month;i++) {
*dayofyear = *dayofyear + daytable[leap][i];
}
*dayofyear = *dayofyear + day;
}
void main()
{
int year,month,day;
int days;
printf("Enter the year month day (for example: 2008 3 1)\n");
scanf("%d %d %d",year,month,day);
(void) get_day ( year, days, month, day );
printf("the days=%d\n",days);
}
分享題目:c語(yǔ)言用函數(shù)判斷輸入日期 c語(yǔ)言輸入日期判斷第幾天
URL標(biāo)題:http://m.kartarina.com/article20/hjgeco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、定制開(kāi)發(fā)、面包屑導(dǎo)航、做網(wǎng)站、微信小程序、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)