C语言题目 请大神帮我看看哪里错了

2025-03-26 02:40:17
推荐回答(6个)
回答(1):

if和else的后面用{ } 包起来。
#include
int main()
{
int a, b, c, d;
scanf("%d", &a);
if (a<12)

printf("%d in", a);

else

if(a>=12 && a<36)
{
b=a/12;
a=a-b*12;
printf("%d ft %d in", b, a);
}
else

if(a>=36 && a<63360)
{
c=a/36;
b=(a-c*36)/12;
a=c*36-b*12;
printf("%d yd %d ft %d in", c, b, a);
}
else (a>=63360)
{
d=a/63360;
c=(a-d*63360)/36;
d=(a-d*63360-c*36)/12;
a=a-d*63360-c*36-d*12;
printf("%d mi %d yd %d ft %d in", d, c, b, a);
}

return 0;
}
如果还不行,试一下定义long a, b, c, d;

回答(2):

if和else的后面的块语句要用{ } 包起来。
#include
int main()
{
int a, b, c, d;
scanf("%d", &a);
if (a<12)
{
printf("%d in", a);
}
else
{
if(a>=12 && a<36)
{
b=a/12;
a=a-b*12;
printf("%d ft %d in", b, a);
}
else
{
if(a>=36 && a<63360)
{
c=a/36;
b=(a-c*36)/12;
a=c*36-b*12;
printf("%d yd %d ft %d in", c, b, a);
}
else (a>=63360)
{
d=a/63360;
c=(a-d*63360)/36;
d=(a-d*63360-c*36)/12;
a=a-d*63360-c*36-d*12;
printf("%d mi %d yd %d ft %d in", d, c, b, a);
}
}
}
return 0;
}
试试看

回答(3):

每一个if语句后加上一对大括号

回答(4):

#include
main()
{
long a, b, c, d;
scanf("%ld", &a);
d=a/63360;
if(d!=0)
printf("%ld mi ",d);
c=(a-d*63360)/36;
if(c!=0)
printf("%ld yd ",c);
b=(a-d*63360-c*36)/12;
if(b!=0)
printf("%ld ft ",b);
a=a-d*63360-c*36-b*12;
if(a!=0)
printf("%ld in",a);
}
你的算法啊。。。太渣了
ps 额不好意思 挖坟了

回答(5):

大括号,真水

回答(6):

else 后面不加条件