计算某年某月某日是该年的第几天

请问各位这个应该怎么改??改了几遍都是答案错误,错的例子还越来越多,枯了

img

img

img

你的day未初始化为0,可能造成错误
这个一个没问题的代码

#include<stdio.h>

int main()
{
        int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},year,month,day,sum=0,i;
         //数组下标和月份一一对应,内容为对应月份的天数
        scanf("%d/%d/%d",&year,&month,&day);
        if(year%400==0||year%4==0&&year%100!=0)
            a[0]=day,a[2]=29;
        else a[0]=day;      
   //将day存放到a[0]的位置,方便后续统计,如果是闰年,需要将2月份改为29天
        for(i=0;i<month;i++)
            sum+=a[i];
   //因为a[0]存放的是day,所以就可以直接从a[0]遍历相加
        printf("%d",sum);
    
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632