该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
void main()
{
float a,b,c,
int san=0;
char ch;
printf("********************************\n");
printf("********判定三角形的类型********\n");
printf("********************************\n\n");
do
{
printf("请输入三个数值\n");
san = scanf("%f%f%f",&a,&b,&c); //其实scanf也有返回值,即所输入数据的个数
while(san != 3) //判断输入数据的格式
{
fflush(stdin); //或者 while(getchar()!='\n');//清理缓存区的错误数据 printf("输入格式错误,请重新输入!\n");
san = scanf(" %f%f%f",&a,&b,&c);
}
if( (a+b) <= c || (a+c) <= b || (b+c) <= a)
{
printf("不能组成三角形!\n");
}
else
{ if( a == b && a == c )
{
printf("该三角形为等边三角形!\n");
}
else if( a == b || a == c || b == c )
{
if( a*a + b*b == c*c || a*a + c*c == b*b || c*c + b*b == a*a )
{
printf("该三角形为等腰直角三角形!\n");
}
else
{
printf("该三角形为等腰三角形!\n");
}
}
else if( a*a + b*b == c*c || a*a + c*c == b*b || c*c + b*b == a*a )
{
printf("该三角形为直角三角形!\n");
}
else
{
printf("该三角形为普通三角形!\n");
}
}
printf("是否继续判定(Y) or (N)\n");
getchar()=='\n'; //清除缓存数据
scanf("%c",&ch); //这两句也可以这样写——scanf(" %c",ch);%前面有个空格,必须要有 }while(ch == 'y' || ch =='Y'); }