#include "stdio.h"
#include "math.h"
int main()
{
double a,b,c,sum,area
printf("请输入三个数:")
scanf("%lf%lf%lf",&a,&b,&c)
if(a>0 &&b>0 &&c>0 &&a+b>c &&b+c>a &&a+c>b)
{
printf("输入的三个数可以组成三角形,其面积为:")
sum=(a+b+c)/2
area=sqrt(sum*(sum-a)*(sum-b)*(sum-c))
printf("%lf\n",area)
}
else
{
printf("输入的三个数不能组成三角形!\n")
}
}
不能组成三角形的条件:两边之和小于第三边,两边之差大于第三边使用其中一个条件即可。但是要使用SWITCH语句,感觉真的没必要,照样还是需要if判断
简单写了一下
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c
int result
printf("输入三角形三条边:\n")
scanf("%d %d %d",&a,&b,&c)
if(a+b<=c||a+c<=b||b+c<=a)
result = 0
else
{
if(a==b==c)
result = 1
else
if(a==b||a==c||b==c)
result = 2
else
result = 3
}
switch (result)
{
case 0:
printf("不能构成三角形\n")
break
case 1:
printf("能构成等边三角形\n")
break
case 2:
printf("能构成等腰三角形\n")
break
case 3:
printf("能构成不等边三角形\n")
break
}
system("pause")
}
你也可以把 if(a+b<=c||a+c<=b||b+c<=a)也拆开了,给result赋不同的值
再case,printf("不能构成三角形\n")
我以C语言为例:#include<stdio.h>
void main(){
double a,b,c
printf("请输入三角形的三条边:")
scanf("%lf,%lf,%lf",&a,&b,&c)
while(a<=0||b<=0||c<=0){
printf("三角形的三条边必须大于0!\n\n")
printf("请输入三角形的三条边:")
scanf("%lf,%lf,%lf",&a,&b,&c)
}
if(a+b>c&&a+c>b&&b+c>a){
printf("这三条边构成一个三角形!")
}else{
printf("这三条边不构成一个三角形!")
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)