例74:給出年月日,C語言編程計算該日是該年的第幾天,
解題思路:主函式接受從鍵盤輸入的日期,并呼叫sum_day和leap函式計算天數,sum_day計算輸入日期的天數,leap函式回傳是否是閏年的資訊,此題關鍵就是兩部分,一是判斷是否是閏年,如果是閏年的話需要加1,然后就是計算這個月之前的天數,讀者根據這兩個大方面思考即可,
C語言源代碼演示:
#include<stdio.h>//頭檔案
int main()//主函式
{
int sum_day(int month,int day);//函式宣告
int leap(int year);//函式宣告
int year,month,day,days;//定義整型變數
printf("輸入日期:") ;
scanf("%d %d %d",&year,&month,&day);
printf("%d-%d-%d",year,month,day);
days=sum_day(month,day); //呼叫函式sum_day
if(leap(year)&&month>=3) //呼叫函式leap
{
days=days+1;
}
printf("是這一年的第%d天\n",days);
return 0;//主函式回傳值為0
}
int sum_day(int month,int day)//自定義函式
{
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//定義整型陣列
int i;//定義整型變數
for(i=1;i<month;i++)//for回圈
{
day+=day_tab[i]; //累加所在月之前的天數
}
return day;//將day回傳到函式呼叫處
}
int leap(int year)//判斷是否為閏年
{
int leap;//定義整型變數
leap=(year%4==0&&year%100!=0||year%400==0);//賦初值
return leap;//將leap回傳到函式呼叫處
}
編譯運行結果如下:
輸入日期:2008 8 8
2008-8-8是這一年的第221天
--------------------------------
Process exited after 6.112 seconds with return value 0
請按任意鍵繼續. . .
以上,如果你看了覺得對你有所幫助,就給小林點個贊,分享給身邊的人叭,這樣小林也有更新下去的動力,跪謝各位父老鄉親啦~
C語言計算某日是該年的第幾天
更多案例可以go公眾號:C語言入門到精通
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256298.html
標籤:其他
