本文目录一览:
- 1、用C语言判断三角形
- 2、请问c语言判定是三角形的条件是什么?
- 3、C语言,怎么编程判断三角形的形状?
- 4、关于c语言判断是否为三角形的问题
- 5、怎样用C语言判断三角形类型(等边,等腰,直角,等腰直角)?
- 6、用c语言判断三角形
用C语言判断三角形
#include iostream.h
int main(void)
{
int a,b,c;
cout"请输入3个参数:"endl;
cinabc;
if (!(a+b=c || a+c=b || b+c=a))
{
if (a==b a==c) cout"等边三角形"endl;
else if (a==b || a==c || b==c) cout"等腰三角形"endl;
else cout"不等边三角形"endl;
}
else cout"无法组成三角形"endl;
return(0);
}
请问c语言判定是三角形的条件是什么?
任意两边的和大于第三边
例如
#include "stdio.h"
int main()
{
double a,b,c;
printf("请输入三边长:");
scanf("%lf%lf%lf",a,b,c)
if(a+bc a+cb b+ca)
printf("输入三边长可以组成一个三角形!\n");
else
printf("输入三边长不可以组成一个三角形!\n");
}
C语言,怎么编程判断三角形的形状?
代码如下:
#include stdio.h
#include stdlib.h
#define EPSINON 1e-3
#define ABS(a) (((a)0)?(a):(-a)) //?:不支持表达式嵌套
#define ZERO(x) ((x)-EPSINON (x)EPSINON)
#define MAX(a,b) (((a)(b))?(a):(b))
#define MIN(a,b) (((a)(b))?(a):(b))
float a, b, c;
float max, mid, min;
char input_err_flag = 0;
char judge_err_flag = 0;
int equal(float a, float b)
{
float tmp;
tmp = a - b;
tmp = ZERO(ABS(tmp));
return tmp;
}
void input(void)
{
a = b = c = 0;
printf("输入三条边的值:");
scanf("%f %f %f",a, b, c);
if(!(a0) || !(b0) || !(c0))
{
input_err_flag = 1;
}
}
void sort(void)
{
max = MAX(MAX(a,b),c);
min = MIN(MIN(a,b),c);
if(MAX(a,b) c)
mid = MAX(a,b);
else
mid = MAX(MIN(a,b),c);
}
void judge(void)
{
float max_square, mid_square, min_square, tmp;
if(max = (mid+min))
{
judge_err_flag = 1;
}
else
{
max_square = max * max;
mid_square = mid * mid;
min_square = min * min;
tmp = mid_square + min_square;
if(equal(mid,min) || equal(max, mid))
{
if(equal(mid, min))
{
if(mid == max)
puts("等边三角形。");
else if(equal(max_square, tmp))
puts("等腰直角三角形。");
else if(max_square tmp)
puts("等腰锐角三角形。");
else
puts("等腰钝角三角形。");
}
else
{
if(equal(min, mid))
puts("等边三角形。");
else
puts("等腰锐角三角形。");
}
}
else if(equal(max_square, tmp))
puts("直角三角形。");
else if(max_square tmp)
puts("锐角三角形。");
else
puts("钝角三角形。");
}
}
int main(void)
{
char cs, ch;
do
{
input();
sort();
judge();
if(input_err_flag)
{
input_err_flag = 0;
while((cs=getchar())!='\n' (cs=getchar())!=EOF);
printf("输入错误,a b c必须大于零,是否新输入(y/n):");
}
else if(judge_err_flag)
{
judge_err_flag = 0;
while((cs=getchar())!='\n' (cs=getchar())!=EOF);
printf("组不成三角形,是否重新输入(y/n):");
}
else
{
while((cs=getchar())!='\n' (cs=getchar())!=EOF);
printf("是否再输入一组数据(y/n):");
}
ch = getchar();
}
while(ch=='y' || ch=='Y' || ch=='\n');
puts("Goodbye!");
return 0;
}
关于c语言判断是否为三角形的问题
首先是输入3个数,即三角形三条边,要有等于才行
前面3个条件满足,才能构成三角形;否则不是三角形
然后判断,是否有满足直角形的条件;只要有两个边得平方等于另一个边得平方;即使直角三角
形;输出yes
你把最后两个语句去掉看看,还有
else
if(c
b+c)printf("not
a
triangle\n");
你打错了
怎样用C语言判断三角形类型(等边,等腰,直角,等腰直角)?
#includestdio.h
main()
{
double a[3],b;
while(1){
scanf("%lf %lf %lf",a[0],a[1],a[2]);//输入三边
if(a[0]0a[1]0a[2]0){//三边中任何一边都得大于0
if(a[0]a[1]){b=a[0];a[0]=a[1];a[1]=b;} //将最大的边交换到a[0]中
if(a[0]a[2]){b=a[0];a[0]=a[2];a[2]=b;}
if(a[1]+a[2]=a[0]){
printf("不是三角形\n");continue;}//两个短边之和不大于第三边,不是三角形
if(((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0]))(a[0]==a[1]||a[1]==a[2]||a[0]==a[1])){
printf("等腰直角三角形\n");continue;}//两个短边的平方=长边的平方就是直角
if((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0])){
printf("直角三角形\n");continue;}
if(a[0]==a[1]a[0]==a[2]){
printf("等边三角形\n");continue;}
if(a[0]==a[1]||a[1]==a[2]||a[0]==a[1]){
printf("等腰三角形\n");continue;}
}else
printf("不是三角形\n");
}
}
//这里计算直角三角形时,转成int在进行比较,是为了降低精度,特别是计算等腰直角三角形,
//根号2,是无限的小数,不降低精度很难能得到的相等关系的。
如图所示,望采纳。。。。。。
用c语言判断三角形
判断三角形---抛砖引玉参考资料:
#include stdio.h
#include stdlib.h
void input(int a,int b,int c)
{
printf("input the a =");
scanf("%d",a);
printf("\n");
printf("input the b =");
scanf("%d",b);
printf("\n");
printf("input the c =");
scanf("%d",c);
printf("\n");
}
int panduan(int a,int b,int c)
{
if (a=100 a=1)
{
return 0;
exit(0);
}
if (b=100 b=1)
{
return 0;
exit(0);
}
if (c=100 c=1)
{
return 0;
exit(0);
}
if (ab+c)
if (ba+c)
if (ca+b)
return 4;
else
return 0;
}
void leixing(int i)
{
switch (i)
{
case '0':
printf("a,b,c不能组成一个三角形!\n");
case '1':
printf("a,b,c组成了一个等边三角形!\n");
case '2':
printf("a,b,c组成了一个等腰三角形!\n");
case '3':
printf("a,b,c组成了一个直角三角形!\n");
case '4':
printf("a,b,c组成一个普通的三角形!\n");
default:
printf("a,b,c组成一个普通的三角形!\n");
}
}
int dengbian(int a,int b,int c)
{
if (a==b)
if (b==c)
return 1;
else
return 0;
}
int dengyao(int a,int b,int c)
{
if (a==b ||b==c||c==a)
return 2;
else
return 0;
}
int zhijiao(int a,int b,int c)
{
if ((a*a)==(b*b)+(c*c))
{
return 3;
exit(0);
}
if ((b*b)==(c*c)+(a*a))
{
return 3;
exit(0);
}
if ((c*c)==(b*b)+(a*a))
{
return 3;
exit(0);
}
else
return 0;
}
int xingzhuang(int a,int b,int c)
{
int temp=0;
temp=dengbian(a,b,c);
if (temp)
{
return temp;
exit(0);
}
temp=dengyao(a,b,c);
if (temp)
{
return temp;
exit(0);
}
temp=zhijiao(a,b,c);
if (temp)
{
return temp;
exit(0);
}
else
return 1;
}
void main()
{
int a,b,c;
int temp;
input(a,b,c);
// printf("%d%d%d",a,b,c);
temp=panduan(a,b,c);
// printf("%d",temp);
if (temp==1)
{
temp=xingzhuang(a,b,c);
// printf("%d",temp);
leixing(temp);
}
else
leixing(temp);
}