为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

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

0 回复 有任何疑惑可以回复我~

写的很严谨诶

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926028    人
  • 解答问题       20793    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信