判断用户查询的XX年XX月有多少天

/*****************************************************************************
File name:
Description: 判断用户查询的XX年XX月有多少天 
Author: grey-lion 
Version: 1.1
Date: 2022-11-6
History: 
*****************************************************************************/

#include <stdio.h>
#include <stdlib.h>
/*************************************************
Function: month_day()
Description: 判断用户查询的月份有多少天 
Calls: 
Called By: main()
Input: year:年份 month:月份  num[]:有31天的月份  i:循环变量 
Output: 
Return: day:该月份有多少天 
Others: 
*************************************************/
int month_day(int year,int month){
	int day,i; 
	int num[] = {1,3,5,7,8,10,12};
	
	if (month == 2){
		//判断是否为闰年(非整百年:能被4整除的为闰年。整百年:能被400整除的是闰年。)
		if  ((year % 400 == 0 ) || (year % 4 == 0 && year % 100 != 0)){
			//闰年二月有29天 
			day = 29;
		}
		else{
			//平年二月有28天 
			day = 28; 
		}	 
	}
	else {
		//循环查询用户查找月份是否在列表中 
		for (i = 1;i < 7;i++){
			if (month == num[i]){
				day = 31;
				break;
			}
			else {
				day = 30;
			}
		}
	}
	return day;
}
/*************************************************
Function: main() 
Description: 获取用户想要查询的信息 
Calls: month_day() 
Called By:
Input: year:年份 month:月份 choose:选择是否继续 
Output: year:年份 month:月份 day:天数 
Return: 0
Others: goto 标记(循环语句) 
*************************************************/
int main() {
	int year,month,day;
	char choose;
	
	//loop标记 
	loop:printf("请输入判断年份:");
	scanf("%d" , &year);
	//清空输入缓冲区,详解http://c.biancheng.net/view/183.html
	fflush(stdin);
	
	printf("请输入判断月份:");
	scanf("%d",&month);
	fflush(stdin);
	
	//调用函数 
	day = month_day(year,month); 
	printf("\n%d年%d月有%d天\n\n",year,month,day);
	
	printf("是否继续:");
	scanf("%c",&choose);
	fflush(stdin);
	
	if (choose == 'y' || choose == 'Y'){
		//返回标记处,形成简单循环
		goto loop;
	}
	return 0;
}

运行结果:

posted @ 2022-11-09 22:34  grey-lion  阅读(50)  评论(0编辑  收藏  举报