编译出来没问题呀,到他这儿咋还不对呢?

来源:4-17 switch与if语句的应用

全村儿希望

2020-05-12 20:28

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>

int main()
{
    int year = 2008;    int month = 8;  int day1 = 8; //年月日
    int day = 0; //每月
    int num = 0; //共计
 
/*    printf("请输入年份:");
    scanf("%d", &year);
    printf("请输入月份:");
    scanf("%d", &month);
    printf("请输入日期:");
    scanf("%d", &day1);*/

    if (year > 0 && month > 0 && month <= 12 && day1 > 0 && day1 <= 31) //判断日期是否输入正确

     {

//如果是一月直接输出day1

       if (month == 1) 
        {num == 0;}
        else{
            for (int i = 1; i < month; i++)
            {
                switch (i)
                {
                case 1:case 3:case 5:case 7:case 8:case 10:case 12:
                    day = 31;
                    break;
                case 2:
                    if (year % 4 == 0 && year % 100 != 0) { day = 29; }
                    else { day = 28; }
                    break;
                default: day = 30;    break;

                }num += day;
            }
        }
        printf("%d年%d月%d日 是一年中第%d天", year, month, day, num + day1);
    }
    else { printf("输入错误!"); }

    return 0;
}

写回答 关注

3回答

  • 精慕门2079087
    2020-05-25 23:15:25

    但你这个完全不需要用switch了

  • 精慕门2079087
    2020-05-25 23:12:14

    写的很严谨诶

  • 慕设计3386740
    2020-05-16 14:57:45

    写的比较复杂,根据给出的答案可以判断,不用太纠结!

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题