導航:首頁 > 源碼編譯 > 怎麼分辨瑞年和平年的C語言編譯

怎麼分辨瑞年和平年的C語言編譯

發布時間:2025-09-09 17:10:23

① 求C語言程序,我輸入日期(年月日),然後輸入前後加減多少天,得出那個日期是多少

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int year,month,day;
int leapyear=0;//閏年時使用
int daytime=0;
int sum;
static int month_date[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("請輸入日期:(例如:2010 5 27)");
scanf("%d%d%d",&year,&month,&day);
if(year<=0||month>12||month<1)//判斷輸入是否正確
{
printf("Error!\n");
getch();
exit(0);
}
if(year%400==0||(year%4==0&&year%100!=0))//判斷是否為閏年
leapyear=1;//是就加1
if(month==2)//判斷日是否輸入正確,2月是特殊的因為分閏年和平年
{ if((month_date[month-1]+leapyear)<day||day<=0)
{
printf("Error!\n");
getch();
exit(0);
}
}
if(month!=2)//當輸入不是2月時,判斷輸入
{
if(month_date[month-1]<day||day<=0)
{
printf("Error!\n");
getch();
exit(0);
}
}
printf("\n請輸入天數:");
scanf("%d",&daytime);//輸入第N天後
if(daytime<0)
{
printf("Error!\n");
getch();
exit(0);
}
sum=daytime+day;//當前日期與N天相加
do
{
if(month==2)//判斷當月是不是二月份
month_date[month-1]+=leapyear;
if(sum>month_date[month-1])
{
sum-=month_date[month-1];
month++;//超過當月天數,加一個月
if(month==13)//當月份超過12月時,重新返到1月
{
year++;//加一年
if(year%400==0||(year%4==0&&year%100!=0))//判斷加一年後是不是閏年
leapyear=1;
else
leapyear=0;//不是閏年則為0
month=1;//因為12月的下一個月是1月
}
}
}while(sum>month_date[month-1]);//當加起來的天數少於當月的天數就停止循環
day=sum;
printf("\n第%d天後是%d %d %d",daytime,year,month,day);//輸出
getch();
}

閱讀全文

與怎麼分辨瑞年和平年的C語言編譯相關的資料

熱點內容
外國ip伺服器地址 瀏覽:328
紅警3怎麼命令 瀏覽:205
伺服器裡面的域有什麼用 瀏覽:610
curlphpcookies 瀏覽:101
三個月學懂中醫pdf 瀏覽:753
實時發送郵件python 瀏覽:264
php數組刪除重復元素 瀏覽:565
程序員遇到一個無聊的人 瀏覽:59
dh136c25b壓縮機 瀏覽:137
程序員職業外部威脅 瀏覽:897
小米手機點系統工具文件夾就卡 瀏覽:421
app推廣暗扣是什麼意思 瀏覽:926
php多個分頁 瀏覽:109
隱藏我的電腦里的六個文件夾 瀏覽:495
溫州保稅倉發貨有溯源碼嗎 瀏覽:49
收獲app企業ID是什麼 瀏覽:995
光控台燈單片機 瀏覽:285
文檔不能加密的原因 瀏覽:155
程序員系列大全 瀏覽:360
安卓怎麼用文件升級 瀏覽:667