C语言数组,天数问题

img


这个编译没错,但是运行不对,想实现通过访问数组得到某年某月某日的天数

题主的代码,算法有问题,修改如下,见注释,供参考:

#include <stdio.h>
int main()
{
    int y,m,d,b=0,i;
    int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};

    scanf("%d%d%d", &y, &m, &d);

    if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) //如果该年是闰年
        days[1] += 1;                   //将2月份天数加1,改为 29 天。

    for (i = 0;i < m - 1; i++) //按月将天数累加
        b += days[i];

    b += d;  //加上当月的天数

    printf("%d", b); //输出某年某月某日是该年的第几天

    return 0;
}

怎么不对,估计是第8行你键盘输入与第8行要求的格式不一样