输入年份和月份,来查询该月的天数
1.用switch语句
#include<stdio.h> int main() { int year, month,day; printf("输入年份为:"); scanf_s("%d", &year); do { printf("输入月份:"); scanf_s("%d", &month); }while(month<1||month>12);//进行月份输入正确性判断 switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:day = 31; break; case 2:day = 28 + (year % 4 == 0 && year % 100 != 0 || year % 400 == 0); break; default:day = 30; } printf("%d年%d月有%d天", year, month, day); return 0; }
2.用二维数组(1)
#include<stdio.h> int main() { int day[2][12] = { {31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31} }; int year, month; printf("请输入查询年份:"); scanf_s("%d", &year); do { printf("请输入查询月份:"); scanf_s("%d", &month); } while (month < 1 || month>12);//对输入月份进行合法性判断 (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? printf("%d年%d月有%d天", year, month, day[1][month - 1]) : printf("%d年%d月有%d天", year, month, day[0][month - 1]); return 0; }
3.用二维数组(2)
#include<stdio.h> int main() { int day[2][12] = { {31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31} }; int year, month; printf("请输入查询年份:"); scanf_s("%d", &year); do { printf("请输入查询月份:"); scanf_s("%d", &month); } while (month < 1 || month>12);//对输入月份进行合法性判断 int leap = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0); printf("%d年%d月有%d天", year, month, day[leap][month - 1]); return 0; }