C語(yǔ)言實(shí)驗(yàn)(十二):函數(shù)(輸入年份輸出日歷、閏年判斷、元旦星期幾) | 您所在的位置:網(wǎng)站首頁(yè) › 屬豬的人帶金首飾好嗎女 › C語(yǔ)言實(shí)驗(yàn)(十二):函數(shù)(輸入年份輸出日歷、閏年判斷、元旦星期幾) |
C語(yǔ)言實(shí)驗(yàn)(十二):函數(shù)(輸入年份輸出日歷、閏年判斷、元旦星期幾)
一、判斷閏年和某年元旦星期幾的函數(shù)1. 編寫(xiě)一個(gè)函數(shù),輸入年份,判斷是否為閏年;2. 編寫(xiě)一個(gè)函數(shù),輸入年份,判斷當(dāng)年元旦所對(duì)應(yīng)的星期數(shù);
二、輸入日期(年、月、日),輸出他是該年的第幾天、星期幾。三、打印年歷,要求輸入年份(1900以后),輸出每個(gè)月的月歷構(gòu)成年歷。即每天對(duì)應(yīng)的星期。
一、判斷閏年和某年元旦星期幾的函數(shù)
1. 編寫(xiě)一個(gè)函數(shù),輸入年份,判斷是否為閏年;
1、閏年:年份是4的倍數(shù),但不是100的倍數(shù)的年份;以及年份是400的倍數(shù)的年份。
2、有閏年的定義,用代碼實(shí)現(xiàn)即可。用取模運(yùn)算判斷是否是x的倍數(shù)。
2. 編寫(xiě)一個(gè)函數(shù),輸入年份,判斷當(dāng)年元旦所對(duì)應(yīng)的星期數(shù);
1、求出從1900年開(kāi)始的閏年及平年數(shù)量。依此計(jì)算出共多少天,然后根據(jù)一周七日,用天數(shù)對(duì)7做取模運(yùn)算。
2、結(jié)合1990年元旦為星期一,可推斷出要求年份元旦是星期幾。
二、輸入日期(年、月、日),輸出他是該年的第幾天、星期幾。
1、根據(jù)年份判斷是否是閏年;根據(jù)月份和日期可以計(jì)算是該年第幾天。 2、將該年第幾天和與1900年間隔年份天數(shù)相加得到至1900年元旦的天數(shù),對(duì)7做取模運(yùn)算可推斷得這一日期是星期幾。 實(shí)驗(yàn)代碼 #include #include int main() { int y,m,d; printf("請(qǐng)輸入日期(示例:2000.3.9)\n"); scanf("%d.%d.%d",&y,&m,&d); Xingqi(y,m,d); Dijitian(y,m,d); return 0; } int Runnian(int year)//判斷year年是否是閏年 { if (year%4 == 0 && year%100!=0 || year%400==0) return 1; else return 0; } int Xingqi(int year,int month,int day)//判斷year年month月day日是星期幾 { int i,s=0,n,a[13]; for(i=1990;i case 0:printf("星期日");break; case 1:printf("星期一");break; case 2:printf("星期二");break; case 3:printf("星期三");break; case 4:printf("星期四");break; case 5:printf("星期五");break; case 6:printf("星期六");break; } return 0; } int Dijitian(int year,int month,int day) //判斷year年month月day日是這年第幾天 { int i,s=0,n,a[13]; if(Runnian(year)) a[2] = 29; else a[2] = 28; for(i=1;i printf(" %2d 月 \n",m); printf("-------------------------------------------------\n"); printf(" 星期日 星期一 星期二 星期三 星期四 星期五 星期六\n"); printf("-------------------------------------------------\n"); for(i=0;i printf(" %2d",d); t++; if(t==7) //周日換行 { t = 0; printf("\n\n"); } } printf("\n\n\n");//與下一月之間隔開(kāi) } return 0; } int Runnian(int year) //判斷year年是不是閏年 { if (year%4 == 0 && year%100!=0 || year%400==0) return 1; else return 0; } int Xingqi_yuandan(int year)//判斷year年元旦是星期幾 { int m,n; m = (year-1900)/4-(year-1900)/100+(year-1900)/400; n = ((year-1900)*365 + m)%7+1; return n; }運(yùn)行結(jié)果 |
今日新聞 |
推薦新聞 |
專(zhuān)題文章 |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |