判断输入的三个数字是什么类型的三角形
// 估计又有人要骂我了:本来一个很简单的问题,为什么也要帖出来呢?还写的这样复
//杂?原因是这样的,某次去卖VC光盘的哪个孙老师的论坛,他出了这样一个题目,说是
//免费的培训,于是我也写了一个,自我感觉还可以,但是他的评论一下来,大家都晕了,
//的确是很严格的要求,于是我就改改,帖了出来,也给入门者一个例子吧,希望大家写程
//序的时候注意点细节。 呵呵,不要拿砖拍我哦,我看到你了。 : )
#include "stdio.h"
#define ALL_EQUIL 0
#define BOTH_EQUIL 1
#define COMMON 2
#include "Windows.h""
bool CheckNum(float iCheck)
{
bool bRightNum = false;
if(iCheck <= 0)
return bRightNum;
else
bRightNum = true;
return bRightNum;
}
bool CheckIsTrigon(float a, float b, float c)
{
bool bIsTrigon = false;
if((a + b) <= c || (b + c) <= a || (a + c) <= b)
bIsTrigon = false;
else
bIsTrigon = true;
return bIsTrigon;
}
int CheckTrigon(float a, float b, float c)
{
if ( a == b ) //假设A = B
{
if( b == c) //再有 B = C
return ALL_EQUIL;
}
else //这时 A != B
{
if( b == c || a == c)
return BOTH_EQUIL;
else
return COMMON;
}
}
void main()
{
float a = 0; //因为是三角形,还是用ABC习惯!
float b = 0;
float c = 0;
bool bRightInput = false; //看是否输入合理的边值完毕
int iNum = 0; //当前输入了几个合理的边
int tmpBorder = 0;
printf("请依次输入三角形的三个边的长度:\n");
while(!bRightInput)
{
printf("请输入第%f条边:", iNum + 1);
scanf("%f", &tmpBorder);
if(CheckNum(tmpBorder))
{
switch(iNum)
{
case 0:
a = tmpBorder;
break;
case 1:
b = tmpBorder;
break;
default:
c = tmpBorder;
break;
}
iNum++; //下条边
if(iNum == 3) //如果三条边都输入完毕,就设置跳出
bRightInput = true;
}
else
continue;
} //数值输入完毕
if (!CheckIsTrigon( a, b, c))
{
printf("您输入的不是三角形!\n");
return;
}
switch(CheckTrigon( a, b, c))
{
case ALL_EQUIL:
printf("等边三角形\n");
break;
case BOTH_EQUIL:
printf("等要三角形\n");
break;
default:
printf("普通三角形\n");
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!