亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言如何實現萬年歷小程序

2020-02-24 14:31:24
字體:
來源:轉載
供稿:網友

學習C語言可以使我們實現很多小程序,比如2048小游戲、萬年歷小程序等,那么你知道C語言如何實現萬年歷小程序嗎?現在我們就跟著武林小編提供的內容一起學習吧。

該程序簡單地輸入一個年份(1901年之后的年份),隨后程序輸出該年份十二個月的日歷。

#include<stdio.h>#define Mon   1#define Tues  2#define Wed   3#define Thur  4#define Fri   5#define Sat   6#define Sun   0#define January_days   31#define February_days   28#define March_days    31#define April_days    30#define May_days     31#define June_days     30#define July_days     31#define August_days    31#define September_days  30#define October_days   31#define November_days   30#define December_days   31#define first1month January_days#define first2month January_days+February_days#define first3month January_days+February_days+March_days#define first4month January_days+February_days+March_days+April_days#define first5month January_days+February_days+March_days+April_days+May_days#define first6month January_days+February_days+March_days+April_days+May_days+June_days#define first7month January_days+February_days+March_days+April_days+May_days+June_days /	         +July_days#define first8month January_days+February_days+March_days+April_days+May_days+June_days /	         +July_days+August_days#define first9month January_days+February_days+March_days+April_days+May_days+June_days /	         +July_days+August_days+September_days#define first10month January_days+February_days+March_days+April_days+May_days+June_days /	         +July_days+August_days+September_days+October_days#define first11month January_days+February_days+March_days+April_days+May_days+June_days /	         +July_days+August_days+September_days+October_days+November_daysint known_weekday = Tues;int known_year = 1901;int konwn_month = 1;int known_day = 1;int day_count(int month){		switch(month)	{		case 1: return 0;break;		case 2: return first1month;break;		case 3: return first2month;break;		case 4: return first3month;break;		case 5: return first4month;break;		case 6: return first5month;break;		case 7: return first6month;break;		case 8: return first7month;break;		case 9: return first8month;break;		case 10: return first9month;break;		case 11: return first10month;break;		case 12: return first11month;break;	}}/*char * month_name(int month){	switch(month)	{		case 1:			return "January";			break;		case 2:			return "February";			break;		case 3:			return "March";			break;		case 4:			return "April";			break;		case 5:			return "May";			break;		case 6:			return "June";			break;		case 7:			return "July";			break;		case 8:			return "August";			break;		case 9:			return "September";			break;		case 10:			return "October";			break;		case 11:			return "November";			break;		case 12:			return "December";			break;		default:			break;	}}*/char * month_name(int month){	switch(month)	{		case 1:			return "一月";			break;		case 2:			return "二月";			break;		case 3:			return "三月";			break;		case 4:			return "四月";			break;		case 5:			return "五月";			break;		case 6:			return "六月";			break;		case 7:			return "七月";			break;		case 8:			return "八月";			break;		case 9:			return "九月";			break;		case 10:			return "十月";			break;		case 11:			return "十一月";			break;		case 12:			return "十二月";			break;		default:			break;	}}/*按格式打印某年某月名稱*/void first_line_print(int month, int year){	//printf("%20s %d /n",month_name(month),year);	printf("%8d年 %s /n",year, month_name(month));}/*按格式打印星期名稱*/void week_print(){	//printf("%-6s%-6s%-6s%-6s%-6s%-6s%-6s/n","Sun.", "Mon.", "Tues.", "Wed.", "Thur.", "Fri.", "Sat.");	printf("%-3s%-3s%-3s%-3s%-3s%-3s%-3s/n","日", "一", "二", "三", "四", "五", "六");}/*計算該年該月份與已知日子之間的距離天數*/int date_distance_count(int month, int year){	int leap_year_count = 0;	int i;	int distance;	if (year > known_year)	{		for (i=known_year; i<year; i++)		{			if(((i%4 == 0) && (i%100 != 0) ) || (i%400 == 0))			{				leap_year_count++;					}		}		if (month > 2)		{			if(((year%4 == 0) && (year%100 != 0) ) || (year%400 == 0))			{				leap_year_count++;					}		}	}	else	if (year == known_year)	{		if (month > 2)		{			leap_year_count = 1;		}	}		distance = (year - known_year)*365 + leap_year_count + day_count(month);	return distance;	}/*確定該月份第一天是星期幾*/int makesure_firstday_weekday(int month, int year){	int date_distance = 0;	int weekday;	date_distance = date_distance_count(month, year);	weekday = (known_weekday + date_distance)%7;	return weekday;	}/*依次打印出該月份的日子*/void print_in_turn(int month, int firstday, int year){	int i = 1;	int weekday;	switch(firstday)	{		case Sun:			break;		case Mon:			printf("%-3s","");			break;		case Tues:			printf("%-6s","");			break;		case Wed:			printf("%-9s","");			break;		case Thur:			printf("%-12s","");			break;		case Fri:			printf("%-15s","");			break;		case Sat:			printf("%-18s","");			break;	}	switch(month)	{		case 1:		case 3:		case 5:		case 7:		case 8:		case 10:		case 12:		{			for(i=0; i<31; i++)			{				weekday = (firstday + i)%7;				printf("%-3d",i+1);								if(weekday == Sat)				{					printf("/n");				}								}			break;		}		case 2:		{			if(((year%4 == 0) && (year%100 != 0) ) || (year%400 == 0)) /*閏年*/			{				for(i=0; i<29; i++)				{					weekday = (firstday + i)%7;					printf("%-3d",i+1);										if(weekday == Sat)					{						printf("/n");					}									}				break;			}			else /*平年*/			{				for(i=0; i<28; i++)				{					weekday = (firstday + i)%7;					printf("%-3d",i+1);										if(weekday == Sat)					{						printf("/n");					}									}				break;			}				}		case 4:		case 6:		case 9:		case 11:		{			for(i=0; i<30; i++)			{				weekday = (firstday + i)%7;/*計算該天是星期幾*/				printf("%-3d",i+1);								if(weekday == Sat)				{					printf("/n");/*如果是星期六,則換行*/				}								}			break;		}				}}void date_print(int month, int year){	int firstday;	firstday = makesure_firstday_weekday(month, year);	print_in_turn(month, firstday, year);	printf("/n");}void main_month(int month, int year){	first_line_print(month, year);	week_print();	date_print(month, year);	printf("/n/n");}void main_calendar(int year){	int i;	for(i=1; i<=12; i++)	{		main_month(i, year);	}}int main(){	int year;	printf("請輸入年份:year = ");	scanf("%d",&year);	printf("/n");	while(year < 1902)	{		printf("請輸入大于1901的年份/n");		printf("請輸入年份:year = ");		scanf("%d",&year);		printf("/n");	}		main_calendar(year);		scanf(" ");	return 0;}

運行效果圖:

以上就是C語言如何實現萬年歷小程序的內容,是不是覺得很簡單呢?做C語言日期計算的朋友可以參考下。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲码在线观看| 久久手机免费视频| 国产精品99久久久久久久久久久久| 亚洲香蕉成视频在线观看| 国产一区香蕉久久| 国产亚洲日本欧美韩国| 国产精品自产拍在线观看| 国产91免费看片| 国产亚洲日本欧美韩国| 成人黄色av网站| 青青久久aⅴ北条麻妃| 亚洲天堂久久av| 91精品视频专区| 亚洲福利在线看| 91久久精品国产91性色| 亚洲精品久久久久久久久久久久久| 91免费电影网站| 久久久极品av| 国产精品亚洲美女av网站| 黄色成人在线免费| 亚洲丁香婷深爱综合| 日韩精品在线免费观看| 亚洲午夜av久久乱码| 91在线观看免费网站| 在线日韩欧美视频| 韩国视频理论视频久久| 孩xxxx性bbbb欧美| 日韩精品免费一线在线观看| 亚洲人成伊人成综合网久久久| 亚洲专区在线视频| 欧美国产精品日韩| 午夜精品福利电影| 国产99久久精品一区二区永久免费| 91欧美精品午夜性色福利在线| 国产精品久久久久国产a级| 在线观看亚洲区| 亚洲一级黄色av| 亚洲女同性videos| 日韩中文在线不卡| 国产精品久久久久久久久免费看| 国产精品成人aaaaa网站| 亚洲网站视频福利| 亚洲精品一区在线观看香蕉| 国产一区二区三区在线播放免费观看| 91亚洲一区精品| 91精品久久久久久综合乱菊| 在线电影欧美日韩一区二区私密| 国产91久久婷婷一区二区| 久久久久久高潮国产精品视| 91大神在线播放精品| 国产精品亚洲片夜色在线| 日韩资源在线观看| 久久综合久久美利坚合众国| 国产精品一区二区三区免费视频| 日韩av毛片网| 97视频在线免费观看| 成人a免费视频| 欧美一级片一区| 伦理中文字幕亚洲| 中文字幕欧美日韩va免费视频| 亚洲剧情一区二区| 国产91精品青草社区| 欧洲s码亚洲m码精品一区| 777午夜精品福利在线观看| 国产成人精品久久二区二区| 久久综合久久美利坚合众国| 国产日韩欧美视频在线| 国产精品久久久久久久久久免费| 色妞在线综合亚洲欧美| 国产一区二区三区日韩欧美| 久久91亚洲精品中文字幕| 亚洲第一中文字幕| 亚州av一区二区| 日韩激情av在线播放| 亚洲影影院av| 亚洲国产高清高潮精品美女| 欧美体内谢she精2性欧美| 91情侣偷在线精品国产| 久久久久久欧美| 91国产视频在线播放| 中文字幕久久久av一区| 91在线无精精品一区二区| 色爱精品视频一区| 久久成人这里只有精品| 亚洲精品女av网站| 国产精品日韩av| 欧美老肥婆性猛交视频| 成人性教育视频在线观看| 国产一区在线播放| 成人免费在线网址| 国产精品久久久久久久av大片| 国产精品91久久久久久| 91九色在线视频| 国产成人啪精品视频免费网| 欧美激情在线观看视频| 亚洲第一区第二区| 亚洲黄色av网站| 免费99精品国产自在在线| 国产精品在线看| 91国内精品久久| 欧美激情18p| 亚洲午夜女主播在线直播| 久久艹在线视频| 亚洲一区免费网站| 久久成人国产精品| 久久久精品中文字幕| 久久久国产精品视频| 成人激情免费在线| 成人午夜激情免费视频| 91手机视频在线观看| 国产视频久久久| 国产精品久久色| 日韩在线视频观看| 一本一道久久a久久精品逆3p| 国产精品狠色婷| 欧美极品美女电影一区| 日韩精品一区二区三区第95| 亚洲高清不卡av| 亚洲自拍偷拍色图| 欧美黄网免费在线观看| 91精品国产色综合| 日韩av在线一区二区| 久久久影视精品| 亚洲国产精品成人va在线观看| 亚洲午夜性刺激影院| 亚洲第一网站男人都懂| 精品国产一区二区三区久久狼黑人| 久久人人97超碰精品888| 国产91精品久久久久| 一级做a爰片久久毛片美女图片| 国产精品国产福利国产秒拍| 国产精品视频一区二区高潮| 日产日韩在线亚洲欧美| 精品国内亚洲在观看18黄| 亚洲免费成人av电影| 日本高清不卡在线| 久久视频国产精品免费视频在线| 自拍亚洲一区欧美另类| 国产精品白丝jk喷水视频一区| 欧美激情视频播放| 久久免费视频观看| 国产成人免费91av在线| 91热福利电影| 国产精品久久久久99| 一区二区三区四区在线观看视频| 成人精品一区二区三区| 久久久免费观看| wwwwwwww亚洲| 青草青草久热精品视频在线观看| 日韩亚洲欧美成人| 久久久久五月天| 91国内免费在线视频| 国产视频欧美视频| 国产精品美女久久久久av超清| 欧美电影在线观看| 91网站免费观看| 91在线播放国产| 久久精品电影一区二区| 亚洲国产精品中文| 久久天天躁狠狠躁夜夜av| 91亚洲精华国产精华| 亚洲www永久成人夜色| 欧美精品一区在线播放| 九九热r在线视频精品|