計算今天是該年的第幾天(c語言實現)

JianYuBlog發表於2024-04-24

遇到一個有意思的程式設計題,使用C語言實現計算今天是該年的第幾天。

實現程式碼如下:

#include<stdio.h>

int d[12]={31,28,31,30,31,30,31,31,30,31,30,31};
//將每月天數存在陣列中(類似字典)

int add(int months,int flag,int days)//計算天數
{
    int num=0,i=0;
    if(flag>0)//判斷閏年
    {
        if(months>2)//判斷月份是否包含閏年二月
        num=num+1;
    }
    for(i=0;i<months-1;i++)//計算天數
    {
        num=num+d[i];
    }
    num=num+days;//新增當月天數

    return num;
}

int main()
{
    int year,months,days,flag=0;
    //scanf("%d,%d,%d",&year,&months,&days);
    year=2024;
    months=3;
    days=24;
    if(year>0&&year<3000&&months<13&&months>0&&days>0&&days<32)
    //限制正常輸入
    {
        if(year%4==0&&year%100!=0||year%400==0)
        //判斷是否為閏年
        {
            flag=1;   
        }
        printf("the days is %d",add(months,flag,days));
    }
    else
        printf("error input\n");
    return 0;
}

程式碼寫的比較潦草,不足之處還望指出告知。

參考文章:

https://cloud.tencent.com/developer/article/1815427

相關文章