當前位置:首頁 » 編程語言 » c語言列印年歷

c語言列印年歷

發布時間: 2024-01-14 13:26:03

① C語言萬年歷程序

#include"stdio.h"
#include"stdlib.h"
main( )
{
int Year,Month; //年、月
int FirstDay_Year,FirstDay_Month; //某年的第一天是星期幾,某年某月的第一天是星期幾(范圍是0~6,其中0代表星期日)
int IsLeapYear; //是否為閏年,0表示不是閏年,1表示是閏年
int i,d,y; //臨時變數
char YN; //Yes No,程序是否要繼續

int Days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
//Days[1~12]存儲每個月有多少天,其中二月的天數是可變的(閏年29天,平年28天),這里初始化為28天

printf(" C語言簡單萬年歷\n"); //列印標題

XunHuan: //循環標號(可以通過goto跳轉到這里)

printf("請輸入年份: "); //提示輸入年份(0~9999)
scanf("%d",&Year); //把輸入的年份賦值給變數Year

printf("請輸入月份: "); //提示輸入月份(1~12)
scanf("%d",&Month); //把輸入的月份賦值給變數Month

y=Year;
FirstDay_Year=5*(y/4)+(y%4)-(y/100)+(y/400);//蔡勒公式(計算某年的第一天是星期幾)
IsLeapYear=(y%4==4&&y%100!=100||y%400==0)?1:0;
//判斷是否為閏年
Days[2]=(IsLeapYear==1)?29:28; //閏年二月29天,非閏年二月28天
for(i=1,d=0;i<Month;i++)
d=d+Days[i];
FirstDay_Month=(d+FirstDay_Year)%7; //當月的第一天是星期幾(0代表星期日)

printf("\n****************************************************\n");
printf("\t\t公元 %d 年 %2d 月",Year,Month); //列印年月
printf("\n****************************************************\n");

printf(" 星期日 星期一 星期二 星期三 星期四 星期五 星期六\n");
//列印星期表頭
for(i=0;i<FirstDay_Month;i++)
printf("%7c",' '); //當某月的第一天不是星期日時列印空格佔位

for(d=1;d<=Days[Month];d++) //循環,從每個月的第一天開始列印
{
printf("%7d",d);
if(((d+FirstDay_Month)%7)==0 && d<Days[Month])
printf("\n"); //當輸出了星期六而且還未輸出所有天數時,換行
}
printf("\n****************************************************\n");
printf("\n");
printf("是否繼續(Y/N)?\n");
scanf("%c",&YN);
scanf("%c",&YN);
if(YN=='Y' || YN=='y')
goto XunHuan;
}

熱點內容
labsql訪問資料庫 發布:2025-08-27 21:13:43 瀏覽:105
a4紙板文件夾 發布:2025-08-27 20:47:15 瀏覽:610
我的世界發展迅速的伺服器 發布:2025-08-27 20:33:07 瀏覽:585
怎樣設置郵箱伺服器ip 發布:2025-08-27 20:25:47 瀏覽:863
萬彩動畫大師怎麼配置java路徑 發布:2025-08-27 20:16:58 瀏覽:161
linux中的用戶 發布:2025-08-27 20:11:36 瀏覽:454
我的世界伺服器怎麼創造不了 發布:2025-08-27 19:43:00 瀏覽:905
編程貓動圖 發布:2025-08-27 19:23:37 瀏覽:620
ios10與android 發布:2025-08-27 19:23:36 瀏覽:626
監控密碼多少時間 發布:2025-08-27 18:50:15 瀏覽:240