當前位置:首頁 » 編程語言 » 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;
}

熱點內容
不支持的壓縮演算法 發布:2024-11-30 00:44:54 瀏覽:901
機加工的編程 發布:2024-11-30 00:31:19 瀏覽:727
坦克世界電腦什麼配置 發布:2024-11-30 00:30:41 瀏覽:317
如何在手機設置上找到網路的密碼 發布:2024-11-30 00:18:29 瀏覽:414
和鷹加密鎖 發布:2024-11-30 00:17:17 瀏覽:556
C語言舞會 發布:2024-11-30 00:15:44 瀏覽:377
java下載我的世界 發布:2024-11-30 00:11:08 瀏覽:12
華三配置器升級失敗怎麼回事 發布:2024-11-30 00:09:23 瀏覽:842
汽車空調壓縮機壽命 發布:2024-11-30 00:06:04 瀏覽:567
電腦網路波動異常與伺服器失去連接 發布:2024-11-29 23:43:19 瀏覽:247