这个程序为什么运行是错呢

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:00:38
一道if语句做的题目 我刚刚才学 调试了好久都不行 麻烦大人教教我
题目大概是:要求求三角形面积、圆形面积和长方形面积;刚开始的时候要先选择你要做的,然后在跳下去求指定的面积。 (麻烦帮我看一下错在哪里了)
谢谢!

#include <stdio.h>
main()
{
int a,b,c,d,r,x,y;
printf("input x=1 or 2 or 3:");
scanf("%d\n",&x);
if(x==1)
{
printf("input a,b:");
scanf("%d,%d",&a,&b);
y=a*b;
printf("a=%d,b=%d,a*b=%d",a,b,y);
}
else if(x==2)
{
printf("inputc,d:");
scanf("%d,%d",&c,&d);
y=0.5*c*d;
printf("c=%d,d=%d,0.5*c*d=%d\n",c,d,y);
}
else if(x==3)
{
printf("input r:");
scanf("%d",&r);
y=3.14*r*r;
printf("r=%d,3.14*r*r=%d\n",r,y);
}
else
{
printf("error");
}
}

#include <stdio.h>
main()
{
int a,b,c,d,r,x,y;
printf("input x=1 or 2 or 3:");
scanf("%d\n",&x); //读取就不用\n了
if(x==1)
{
printf("input a,b:");
scanf("%d,%d",&a,&b);
y=a*b;
printf("a=%d,b=%d,a*b=%d",a,b,y);
}
else if(x==2)
{
printf("inputc,d:");
scanf("%d,%d",&c,&d);
y=0.5*c*d; //int型数据和0.5相成结果不是你想要的,呵呵,改成float吧
printf("c=%d,d=%d,0.5*c*d=%d\n",c,d,y);
}
else if(x==3)
{
printf("input r:");
scanf("%d",&r);
y=3.14*r*r; //这儿也是
printf("r=%d,3.14*r*r=%d\n",r,y);
}
else
{
printf("error");
}
}

改好了scanf("%d\n",&x); 改为scanf("%d",&x);