遇到一個有意思的程式設計題,使用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