如何用c来编写一个判断闰年平年的微程序呢
效果如下:
源码如下:
#include <stdio.h>
#include <stdlib.h>// 函数声明
int judgeIsLeapYear(int startYear, int endYear);
int judgeAyearIsLeapYear(int aYear);int judgeIsLeapYear(int startYear, int endYear) {int num1 = 0, num2 = 0;int i;for(i = startYear; i <= endYear; i++) {if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) { printf("%d是闰年\n", i);num1++;} else {printf("%d是平年\n", i);num2++;}}printf("其中闰年有%d年,平年有%d年\n", num1, num2); return 0;
}int judgeAyearIsLeapYear(int aYear) {if((aYear % 4 == 0 && aYear % 100 != 0) || aYear % 400 == 0) { printf("%d是闰年\n", aYear); } else {printf("%d是平年\n", aYear);}return 0;
}int main() {int choose, startYear, endYear, aYear;char continueChoice;do {printf("===========判断是否为闰年的程序==========\n");printf("-------------请选择判断模式--------------\n");printf("1.判断某一年是闰年\n");printf("2.判断一段年份中哪些是闰年,闰年平年各多少年\n");printf("3.退出程序\n");printf("请选判断功能(1、2 或 3):");scanf("%d", &choose);// 清除输入缓冲区while(getchar() != '\n');if(choose == 1) {printf("请输入你想判断的年份:");scanf("%d", &aYear);// 清除输入缓冲区while(getchar() != '\n');judgeAyearIsLeapYear(aYear); } else if(choose == 2) {printf("请输入起始年份:");scanf("%d", &startYear); printf("请输入结束年份:");scanf("%d", &endYear);// 清除输入缓冲区while(getchar() != '\n');judgeIsLeapYear(startYear, endYear); } else if(choose == 3) {printf("程序已退出。\n");return 0;} else {printf("无效的选择,请重新输入。\n");continue;}printf("是否继续使用程序?(y/n): ");scanf("%c", &continueChoice);// 清除输入缓冲区while(getchar() != '\n');} while(continueChoice == 'y' || continueChoice == 'Y');printf("程序已退出。\n");return 0;
}