哪位C语言编程大神能帮我看看我这个C语言编程错哪了?跪求在线等

2024-12-29 03:26:28
推荐回答(2个)
回答1:

在非单条执行语句的情况下, if后面的语句要加上{}
改成如下.
而且, 像你的这样情况, 把if else换成switch case会比较好

#include "stdio.h"
#define PI 3.1415926
int main()
{
int x;
printf("请输入x代号,代号:圆形1,长方形2,三角形3\n");
scanf("%d",&x);
if (x=1)
{
float r,s1;
printf("请输入圆的半径\n");
scanf("%f",&r);
s1=PI*r*r;
printf("%f\n",s1);
}
else if(x=2)
{
float a,b,s2;
printf("请输入长方形的长,宽\n");
scanf("%f,%f",&a,&b);
s2=a*b;
printf("%f\n",s2);
}
else if(x=3)
{
float d,h,s3;
printf("请输入三角形的底,高\n");
scanf("%f,%f",&d,&h);
s3=1/2*d*h;
printf("%f\n",s3);
}
return 0;
}

回答2:

#define PI 3.1415926
#include
void main()
{ int x;
printf("请输入x代号,代号:圆形1,长方形2,三角形3\n");
scanf("%d",&x);
if (x=1)
{
float r,s1;
printf("请输入圆的半径\n");
scanf("%f",&r);
s1=PI*r*r;
printf("%f\n",s1);
}
else if(x=2)
{
float a,b,s2;
printf("请输入长方形的长,宽\n");
scanf("%f,%f",&a,&b);
s2=a*b;
printf("%f\n",s2);
}
else if(x=3)
{
float d,h,s3;
printf("请输入三角形的底,高\n");
scanf("%f,%f",&d,&h);
s3=1/2*d*h;
printf("%f\n",s3);
}
}