
#include<string>
using namespace std
int zhijiao(int a,int b,int c)//判断是否为直角三角形
//需要完善,做出安全检查,以确定数据的准确性
void main()
{
int a, b, c//保存三边长度
int index = 1//记录第几个三角形
cout <<"请输入三角形的数据:"
string s//保存输入的字符串,约定为n个三角形,每个三角形为分号隔开,三角形内每边用逗号;"1,2,33,4,5"
cin >>s
char* split = strtok((char*)s.c_str(), "")//根据分号分割字符串
while (split != NULL)
{
//cout <<split <<endl//检验分割的字符串
a = (int)split[0] - 48//char型字符转数字,'0'转化为数字48
b = (int)split[2] - 48
c = (int)split[4] - 48
if (!(a + b <c || a + c <b || b + c <a))
{
if (a == b || a == c || b == c)
{
if (a == b &&b == c)
cout <<"a = " <<a <<"b = " <<b <<"c = " <<c <<"该三角形为等边三角形DB" <<endl
else if (zhijiao(a, b, c))
cout <<"a = " <<a <<"b = " <<b <<"c = " <<c <<"该三角形为等腰直角三角形DZY" <<endl
else
cout <<"a = " <<a <<"b = " <<b <<"c = " <<c <<"该三角形为等腰三角形DY" <<endl
}
else
{
if (zhijiao(a, b, c))
cout <<"为非等腰直角三角形" <<endl
else
cout <<"为普通三角形" <<endl
}
}
else
{
cout <<"不为三角形ERROR"
}
split = strtok(NULL, "")
}
system("pause")
}
int zhijiao(int a, int b, int c)
{
if (a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a)
{
return 1
}
else
return 0
}
a=int(input('请输入a='))b=int(input('请输入b='))
c=int(input('请输入c='))
if a*a+b*b>c*c:
print('是锐角三角形,R')
elif a*a+b*b==c*c:
print('是直角三角形,Z')
elif a*a+b*b<c*c:
print('是钝角三角形,D')
else:
print('不是三角形,W')
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入C语言代码:。
int a, b, c
scanf("%d%d%d", &a, &b, &c)
if ( a + b >c &&a + c >b &&b + c >a)
printf("能")
else
printf("不能")
return 0
3、编译器运行test.cpp文件,此时输入3个边整数,成功输出了能不能构成三角形的判断结果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)