有没有人帮我解答一下问题

c语言中给出日期求星期几的问题,为什么我输入完数据以后程序就不动了呢?

img

你输入的a如果小于y第一个while循环是死循环了

#include<stdio.h>
int main()
{
    
int a,b,c,n1,n2,n3,y,m,day,n;
y=1900;
m=1;
n1=0,n2=0,n3=0;
scanf("%d%d%d",&a,&b,&c);
while(y!=a)
{
    if((y%400==0)||(y%4==0)&&(y%100!=0)) 
    {
        n1+=366;
    }
    else 
    {
        n1+=365;
    }
    y++;
}
printf("%d",n1);
while(m!=b)
{
    if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
    {
        n2+=31;
    }
    else if(m==4||m==6||m==9||m==11)
    {
        n2+=30;
    }
    else 
    {
        if((a%400==0)||(a%4==0)&&(a%100!=0)) 
        n2+=29;
        else
        n2+=28;
    }
    m++;
}
n3=c;
n=n1+n2+n3;
day=n%7;
printf("%d\n",day);
return 0;
}
```c


```

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632