《C语言程序设计》一3.4 案例学习——计算一年中某月份的总天数

    xiaoxiao2022-05-13  244

    3.4 案例学习——计算一年中某月份的总天数

    【例3-8】 从键盘上输入年和月份,打印出相应年中某月份的总天数。1.问题分析这个问题要求从键盘上输入年份和月份,根据年份和月份计算出当月的总天数。年份和月份要考虑输入是否合法,并且二月份要考虑是否是闰年,如果是闰年则是29天,否则是28天。2.算法设计

    显示一个请求用户输入年份和月份的提示接收用户的输入假如年份和月份不合法 输出提示信息否则

    假如月份是1,3,5,7,8,10,12,则是31天; 假如月份是4,6,9,11,则是30天; 假如是2月份,则需要判断是否是闰年,如果是闰年则是29天,否则是28天;

    3.程序实现

    /* 程序名:prg3-8.c 功能:从键盘上输入年份和月份,打印出相应年中某月份的总天数 */ #include<stdio.h> int main() { int year,month,day; printf("Enter year and month "); scanf("%d %d", &year, &month); if(year < 1 || month > 12 || month < 1) //判断非法年份或月份 { printf("input a wrong year or month "); } else { switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; //31天的月份 break; case 4: case 6: case 9: case 11: day = 30; //30天的月份 break; case 2: if((year % 4 == 0 && year % 100 != 0) || year % 400 ==0 )//判断是不是闰年 day = 29; else day = 28; } printf("%d year %d month has %d days",year,month,day); } return 0; }

    程序prg3-8.c根据不同的月份来决定天数,2月份要判断是否为闰年,如果是闰年,则2月份有29天,否则是28天。4.测试结果测试应包含各种情况的数值输入,下面是4种情况的测试结果:

    Enter year and month 2004,2 2004 year 2 month has 29 days

    Enter year and month 2011,2 2011 year 2 month has 28 days

    Enter year and month 2011,3 2011 year 3 month has 31 days

    Enter year and month 2011,4 2011 year 4 month has 30 days 相关资源:计算指定年份的月份的天数

    最新回复(0)