在代码第一部分运行日期转换天数的时候没有问题,但第二部分天数转日期的时候运行报错
#include
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(31y=2;
m=r-31;
}
else if(60y=3;
m=r-60;
}
else if(91y=4;
m=r-91;
}
else if(121y=5;
m=r-121;
}
else if(152y=6;
m=r-152;
}
else if(182y=7;
m=r-182;
}
else if(213y=8;
m=r-213;
}
else if(244y=9;
m=r-244;
}
else if(274y=10;
m=r-274;
}
else if(305y=11;
m=r-305;
}
else if(335y=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(31y=2;
m=r-31;
}
else if(59y=3;
m=r-59;
}
else if(90y=4;
m=r-90;
}
else if(120y=5;
m=r-120;
}
else if(151y=6;
m=r-151;
}
else if(181y=7;
m=r-181;
}
else if(212y=8;
m=r-212;
}
else if(243y=9;
m=r-243;
}
else if(273y=10;
m=r-273;
}
else if(304y=11;
m=r-304;
}
else if(334y=12;
m=r-334;
}
printf("日期为%d月%d日%d\n",y,m);
}
}
}
return 0;
}
这里是运行结果及报错内容
共八处报错
希望可以得到解决,使程序顺利运行w
else(a==2)
改为:
else if(a==2)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!