switch case 帮忙改一下

来源:百度知道 编辑:UC知道 时间:2024/05/20 09:57:16
#include<stdio.h>
main()
{int x,y,z,a,b,c,h,e,f,d,leap;
scanf("%d%d%d%d%d%d",&x,&y,&z,&a,&b,&c);
if(x%4==0&&x%100!=0||x%100==0)leap=1;
else leap=0;
{switch(y)
case 1:d=31;break;
case 2:if(leap=1)d=29;else d=28;break;
case 3:d=31;break;
case 4:d=30;break;
case 5:d=31;break;
case 6:d=30;break;
case 7:d=31;break;
case 8:d=31;break;
case 9:d=30;break;
case 10:d=31;break;
case 11:d=30;break;
case 12:d=31;break;
default:printf("meanless");}
{switch(z%c)
case 1:f=z-c;
{switch(y%b)
case 1:e=y-b;h=x-a;break;
case 0:e=y+12-b;h=x-1-a;break;
default:printf("meanless");}
case 0:f=z+d-c;break;
default:printf("meanless");
{switch((y-1)%b)break;
case 1:e=y-1-b;h=x-a;break;
case 0:e=y-1+12-b;h=x-1-a;
default:printf("meanless");}}
printf("%d%d%d",h,e,f);}

我的机器上没有编译你的程序应该就是{}放错了
应该是
switch
{
case 1://你的执行语句
break;
.....
}
这样就正确了

我不知道这个对不对,编译运行是没出错了.
#include<stdio.h>
main()
{
int x,y,z,a,b,c,h,e,f,d,leap;
scanf("%d%d%d%d%d%d",&x,&y,&z,&a,&b,&c);
if(x%4==0&&x%100!=0||x%100==0)leap=1;
else leap=0;
{
switch(y)
{
case 1:d=31;break;
case 2:if(leap=1) d=29;else d=28;break;
case 3:d=31;break;
case 4:d=30;break;
case 5:d=31;break;
case 6:d=30;break;
case 7:d=31;break;
case 8:d=31;break;
case 9:d=30;break;
case 10:d=31;break;
case 11:d=30;break;
case 12:d=31;break;
default:printf("meanless");
}
}
switch(z%c)
case 1:f=z-c;
switch(y%b)
{