中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用C語言實現按月顯示的日歷

發布時間:2021-08-27 18:00:49 來源:億速云 閱讀:142 作者:chen 欄目:編程語言

這篇文章主要講解了“怎么用C語言實現按月顯示的日歷”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用C語言實現按月顯示的日歷”吧!

我們的基本步驟是:

1、定義輸入函數,也就是你要輸入的年和月。2、計算當前年的第一天是星期幾。我們需要定義一個基準年,再定義出基準年的第一天是星期幾。最后計算出當前年與基準年之間的差值,用最后的結果加上基準年第一天是星期幾,結果再%7即可。3、計算當前月的第一天是星期幾。計算出當前年的第一天和當前月的第一天之間的差值,再加上當前年的第一天,用最后的結果%7即可。4、打印最后的結果。5、要注意區別平年和閏年,這里我們用一個二維數組來區別。

具體實現代碼如下:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>/*基本思路:定義一個基準年,然后通過基準年計算出當前年的第一天是星期幾(用當前年與基準年之間的差值再加上基準年第一天是星期幾,最后的結果%7),通過當前年的第一天計算出當前月的第一天是星期幾(計算出當前年的第一天到當前月的第一天差值,再加上當前年的第一天是星期幾,最后的結果%7)。最后輸出(先空出當前月的第幾天個空格然后輸出當前月的天數,當當前月的第一天加上相應的天數%7為0時,就換行)。還要注意閏年平年的區別,在此用一個二維數組區別*//*定義月份 用二維數組區分平年閏年*/int months[2][13] = { { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },     { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } };/*判斷是否為閏年函數 是則返回1 否則返回0*/int is_leap(int year){ return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);}/*輸入函數*/void input(int *month, int *year){ printf("year/month:"); scanf("%d/%d", year, month);}/*某一年的第一天是星期幾函數*/int first_day_of_year(int year){ int base_year = 2000;//定義基準年 int base_first = 6;//基準年的第一天是星期六 int i = 0; int total = 0;//當前年與基準年的差值 for (i = base_year; i < year; i++) {  total += 365 + is_leap(i);//閏年is_leap為1 平年為0 } total += base_first; return total % 7;}/*當前月的第一天是星期幾*/int first_day_of_month(int first_day, int year, int month){ int i = 0; int total = 0; for (i = 1; i < month; i++) {  total += months[is_leap(year)][i]; } total += first_day; return total % 7;}/*輸出函數*/void output(int first_day, int year, int month){ printf("Sun Mon Tue Wed Thu Fir Sat\n"); int i = 0; for (i = 0; i < first_day; i++) {  printf(" ");//這個月第一天是星期幾前面就空幾天 } for (i = 1; i <= months[is_leap(year)][month]; i++) {  printf("%3d ", i);  if ((i + first_day) % 7 == 0)//用于換行  {   printf("\n");  } } printf("\n");}int main(){ int month = 0; int year = 0; input(&month, &year);//輸入函數 int first_day = first_day_of_year(year); first_day = first_day_of_month(first_day, year, month); output(first_day, year, month); system("pause"); return 0;}

感謝各位的閱讀,以上就是“怎么用C語言實現按月顯示的日歷”的內容了,經過本文的學習后,相信大家對怎么用C語言實現按月顯示的日歷這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清涧县| 平安县| 蒲江县| 永登县| 洞口县| 厦门市| 全州县| 稷山县| 焉耆| 年辖:市辖区| 修文县| 衢州市| 天气| 寿光市| 梨树县| 中方县| 峨边| 昌图县| 屯昌县| 和政县| 即墨市| 桐梓县| 准格尔旗| 阳西县| 南城县| 大理市| 泸州市| 昭平县| 自治县| 达日县| 黄平县| 汉川市| 壤塘县| 玉林市| 汾西县| 贡山| 教育| 新邵县| 民勤县| 连云港市| 确山县|