用c语言写的代码出现一个错误,帮忙看看吧
#include<stdio.h>#include<math.h>#defineEPS1e-1voidmain(){floata,b,c;intflag=1;printf...
#include<stdio.h>
#include<math.h>
#define EPS 1e-1
void main()
{
float a,b,c;
int flag=1;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if (a+b > c && b+c > a && a+c > b)
{
if (fabs(a-b) <= EPS && fabs(b-c) <= EPS && fabs(c-a) <= EPS)
{
printf("等边");
flag=0;
}
else if(fabs(a-b) <= EPS ‖ fabs(b-c) <= EPS ‖ fabs(c-a) <= EPS)
{
printf("等腰");
flag=0;
}
if (fabs(a*a+b*b-c*c) <= EPS ‖ fabs(a*a+c*c-b*b) <= EPS ‖ fabs(c*c+b*b-a*a) <= EPS)
{
printf("直角");
flag=0;
}
if (flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
} 展开
#include<math.h>
#define EPS 1e-1
void main()
{
float a,b,c;
int flag=1;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if (a+b > c && b+c > a && a+c > b)
{
if (fabs(a-b) <= EPS && fabs(b-c) <= EPS && fabs(c-a) <= EPS)
{
printf("等边");
flag=0;
}
else if(fabs(a-b) <= EPS ‖ fabs(b-c) <= EPS ‖ fabs(c-a) <= EPS)
{
printf("等腰");
flag=0;
}
if (fabs(a*a+b*b-c*c) <= EPS ‖ fabs(a*a+c*c-b*b) <= EPS ‖ fabs(c*c+b*b-a*a) <= EPS)
{
printf("直角");
flag=0;
}
if (flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
} 展开
5个回答
展开全部
在else if的条件里面,你使用了中文的逻辑或||符号,要改成英文的,下面是改正后的代码
#include<stdio.h>
#include<math.h>
#define EPS 1e-1
void main()
{
float a,b,c;
int flag=1;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if (a+b > c && b+c > a && a+c > b)
{
if (fabs(a-b) <= EPS && fabs(b-c) <= EPS && fabs(c-a) <= EPS)
{
printf("等边");
flag=0;
}
else if(fabs(a-b) <= EPS || fabs(b-c) <= EPS || fabs(c-a) <= EPS)
{
printf("等腰");
flag=0;
}
if (fabs(a*a+b*b-c*c) <= EPS || fabs(a*a+c*c-b*b) <= EPS || fabs(c*c+b*b-a*a) <= EPS)
{
printf("直角");
flag=0;
}
if (flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
}
#include<stdio.h>
#include<math.h>
#define EPS 1e-1
void main()
{
float a,b,c;
int flag=1;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if (a+b > c && b+c > a && a+c > b)
{
if (fabs(a-b) <= EPS && fabs(b-c) <= EPS && fabs(c-a) <= EPS)
{
printf("等边");
flag=0;
}
else if(fabs(a-b) <= EPS || fabs(b-c) <= EPS || fabs(c-a) <= EPS)
{
printf("等腰");
flag=0;
}
if (fabs(a*a+b*b-c*c) <= EPS || fabs(a*a+c*c-b*b) <= EPS || fabs(c*c+b*b-a*a) <= EPS)
{
printf("直角");
flag=0;
}
if (flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
}
更多追问追答
追问
还是有一个错误
追答
你复制我写的代码过去运行试试
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误消息贴出来看看
追问
看不到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是因为用到了全角的字符,已经改好了,复制粘贴,覆盖你原来的程序编译再看看
#include<stdio.h>
#include<math.h>
#define EPS 1e-1
void main()
{
float a,b,c;
int flag=1;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if (a+b > c && b+c > a && a+c > b)
{
if (fabs(a-b) <= EPS && fabs(b-c) <= EPS && fabs(c-a) <= EPS)
{
printf("等边");
flag=0;
}
else if(fabs(a-b) <= EPS||fabs(b-c) <= EPS||fabs(c-a) <= EPS)
{
printf("等腰");
flag=0;
}
if (fabs(a*a+b*b-c*c) <= EPS||fabs(a*a+c*c-b*b) <= EPS||fabs(c*c+b*b-a*a) <= EPS)
{
printf("直角");
flag=0;
}
if (flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
}
追问
还是有一个错误
追答
错误现象是什么,给出来帮你检查
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<math.h>
#define EPS 1e-1
void main()
{
float a,b,c;
int flag=1;
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if (a+b>c&&b+c>a&&a+c>b)
{
if (fabs(a-b) <= EPS && fabs(b-c) <= EPS && fabs(c-a) <= EPS)
{
printf("等边");
flag=0;
}
else if(fabs(a-b)<=EPS||fabs(b-c)<=EPS||fabs(c-a)<=EPS)
{
printf("等腰");
flag=0;
}
if (fabs(a*a+b*b-c*c) <= EPS||fabs(a*a+c*c-b*b)<= EPS||fabs(c*c+b*b-a*a) <= EPS)
{
printf("直角");
flag=0;
}
if (flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
}
追问
还是有一个错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的或运算符“||”都是中文的,改成英文的就可以了。希望对你有所帮助
更多追问追答
追问
还是有一个错误
追答
你是说运行结果不对是吧?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询