在代码第一部分运行日期转换天数的时候没有问题,但第二部分天数转日期的时候运行报错
#include<stdio.h>
int main()
{
int a;
printf("请选择你想要的转换类型(输入1或2):\n1.日期转换成天数;\n2.指定年份和第几天求出日期。\n");
scanf("%d",&a);
if(a==1)
{
int n,y,r,x=0;
printf("请输入年\n");
scanf("%d",&n);
printf("月 \n");
scanf("%d",&y);
printf("日 \n");
scanf("%d",&r);
switch(y-1)
{
case 11:x+=30;
case 10:x+=31;
case 9:x+=30;
case 8:x+=31;
case 7:x+=31;
case 6:x+=30;
case 5:x+=31;
case 4:x+=30;
case 3:x+=31;
case 2:
if((n%4==0&&n%100!=0)||n%400==0)
{
x+=29;
}
else
{
x+=28;
}
case 1:x+=31;
case 0:x=x;
}
x+=r;
printf("该日期是%d年的第%d天",n,x);
}
else(a==2){
int n,r;
printf("请输入年\n");
scanf("%d",&n);
printf("天数\n");
scanf("%d",&r);
if((n%4==0&&n%100!=0)||n%400==0)
{
if(r<=31)
{
y=1;
m=r;
}
else if(31<r&&r<=60)
{
y=2;
m=r-31;
}
else if(60<r&&r<=91)
{
y=3;
m=r-60;
}
else if(91<r&&r<=121)
{
y=4;
m=r-91;
}
else if(121<r&&r<=152)
{
y=5;
m=r-121;
}
else if(152<r&&r<=182)
{
y=6;
m=r-152;
}
else if(182<r&&r<=213)
{
y=7;
m=r-182;
}
else if(213<r&&r<=244)
y=8;
m=r-213;
}
else if(244<r&&r<=274)
{
y=9;
m=r-244;
}
else if(274<r&&r<=305)
{
y=10;
m=r-274;
}
else if(305<r&&r<=335)
{
y=11;
m=r-305;
}
else if(335<r&&r<=366)
{
y=12;
m=r-335;
}
printf("日期为%d月%d日%d\n",y,m);
}
else if(!(n%4==0&&n%100!=0)||n%400==0)
{
if(r<=31)
{
y=1;
m=r;
}
else if(31<r&&r<=59)
{
y=2;
m=r-31;
}
else if(59<r&&r<=90)
{
y=3;
m=r-59;
}
else if(90<r&&r<=120)
{
y=4;
m=r-90;
}
else if(120<r&&r<=151)
{
y=5;
m=r-120;
}
else if(151<r&&r<=181)
{
y=6;
m=r-151;
}
else if(181<r&&r<=212)
{
y=7;
m=r-181;
}
else if(212<r&&r<=243)
y=8;
m=r-212;
}
else if(243<r&&r<=273)
{
y=9;
m=r-243;
}
else if(273<r&&r<=304)
{
y=10;
m=r-273;
}
else if(304<r&&r<=334)
{
y=11;
m=r-304;
}
else if(334<r&&r<=365)
{
y=12;
m=r-334;
}
printf("日期为%d月%d日%d\n",y,m);
}
}
}
return 0;
}
这里是运行结果及报错内容
共八处报错
希望可以得到解决,使程序顺利运行w