判断用户查询的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;
}
运行结果: