日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言判断闰年_大一C语言错题

發(fā)布時間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言判断闰年_大一C语言错题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

點(diǎn)擊藍(lán)字關(guān)注我們

C語言漁夫打魚曬網(wǎng)問題

如果一個漁夫從 2011 年 1 月 1 日開始每三天打一次漁,兩天曬一次網(wǎng),編程實(shí)現(xiàn)當(dāng)輸入 2011 1 月 1 日以后的任意一天,輸出該漁夫是在打漁還是在曬網(wǎng)。

實(shí)現(xiàn)過程:

(1) 自定義函數(shù) leap(),用來判斷輸入的年份是否是閏年。

(2) 自定義函數(shù) number(),用來計算輸入日期距 2011 年 1 月 1 日共有多少天。

(3) main() 函數(shù)作為程序的入口函數(shù),在 main() 函數(shù)中調(diào)用上面兩個函數(shù)。程序代碼如下:

#include

int leap(int a) /*自定義函數(shù)leap()用來指定輸入的年份是否為閏年*/

{

??? if (a%4==0&&a%100!=0||a%400==0)??

? /* 閏年判定條件 */

??????? return 1;??? /*是閏年返回1*/

??? else

??????? return 0;??? /*不是閏年返回O*/

}

? ? int number(int year,int month,int day)???

?/*自定義函數(shù) number() 計算輸入日期距2011年1月1日共有多少天*/

{

??? int sum = 0, i, j, k;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};? ? ? ? ? /*數(shù)組a存放平年每月的天數(shù)*/

? ? ? ? ? ? ? ? ? ? ? ? ? ?int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};? ? ? ? ? /*數(shù)組b存放閏年每月的天數(shù)*/

??? if(leap(year)==1)??? /*判斷是否為閏年*/

??????? for(i=0;i

????? ??sum+=b[i];????

? ? ?/*是閏年,累加數(shù)組b前m-1個月份的天數(shù)*/

??? else

??????? for(i=0;i

??????? sum+=a[i];????

? ? ?/*不是閏年,累加數(shù)組a前m-1個月份的天數(shù)*/

??? for(j=2011;j

??? if (leap(j)==i)

??????? sum+=366;????

? ? ?/*2011年到輸入的年份是閏年的加366*/

??? else

??????? sum+=365;??? /*2011年到輸入的年份不是閏年的加365*/

??? sum+=day;??? /*將前面累加的結(jié)果加上日期,求出總天數(shù)*/

??? return sum;??? /*返回計算的天數(shù)*/

}

int main()

{

??? int year,month,day,n;

??? printf("請輸入年月日\n");

??? scanf("%d%d%d",&year,&month,&day);????

? ? ?/*輸入年月日*/

??? n=number(year,month,day);????

? ? ?/*調(diào)用函數(shù) number()*/

??? if((n%5)<4&&(n%5)>0)????

? ? /*余數(shù)是1或2或3時說明在打漁,否則在曬網(wǎng)*/

printf("%d:%d:%d 打魚\n",year,month,day);

??? else

printf("%d:%d:%d 曬網(wǎng)\n",year,month,day);

??? return 0;

}

運(yùn)行結(jié)果:

請輸入年月日

2011 1 4

2011:1:4 曬網(wǎng)

技術(shù)要點(diǎn):

本實(shí)例主要有以下兩個技術(shù)要點(diǎn):

(1) 判斷輸入的年份(2011 年以后包括 2011 年)是否為閏年,這里自定義函數(shù) leap() 來進(jìn)行判斷。該函數(shù)的核心內(nèi)容就是閏年的判斷條件即能被 4 整除但不能被 100 整除,或能被 400 整除。

(2) 求輸入日期距 2011 年 1 月 1 日有多少天。首先判斷 2011 年距輸入的年份有多少年,這其中有多少年是閏年就將 sum 加多少個 366,有多少年是平年便將 sum 加上多少個 365。

(3)?其次要將 12 個月每月的天數(shù)存到數(shù)組中,因?yàn)殚c年 2 月份的天數(shù)有別于平年,故采用兩個數(shù)組 a 和 b 分別存儲。若輸入年份是平年,月份為 m 時就在前面累加日期的基礎(chǔ)上繼續(xù)累加存儲著平年每月天數(shù)的數(shù)組的前 m-1 個元素,將累加結(jié)果加上輸入的日期便求出了最終結(jié)果。閏年的算法類似。

計算機(jī)與控制工程學(xué)院團(tuán)委宣傳部

材料來源:學(xué)習(xí)部

排版編輯:胡志信

執(zhí)行編輯:蔡金晶

責(zé)任編輯:宋健棟

審 ? ? ?核:賀 ?毅

總結(jié)

以上是生活随笔為你收集整理的c语言判断闰年_大一C语言错题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。