Batch file 批处理文件中的三角不等式定理
嗨,伙计们,我是编程新手,我正在自学。如果我犯了任何对你们来说显而易见的错误,我很抱歉。 我试着用batch做一个程序,你可以输入3个数字,程序会告诉你是否可以用这些比率(比如1厘米2厘米和3厘米)做一个三角形,我在使用这些数字时遇到了问题 (2>1两个大于1)如何批量使用大于?Batch file 批处理文件中的三角不等式定理,batch-file,Batch File,嗨,伙计们,我是编程新手,我正在自学。如果我犯了任何对你们来说显而易见的错误,我很抱歉。 我试着用batch做一个程序,你可以输入3个数字,程序会告诉你是否可以用这些比率(比如1厘米2厘米和3厘米)做一个三角形,我在使用这些数字时遇到了问题 (2>1两个大于1)如何批量使用大于? 如果有人能以一种我不懂编程就能理解的方式来解释这个解决方案,我将不胜感激。 谢谢你的帮助 @echo off mode 1000 color a0 goto block1 :block1 set /p inpu
如果有人能以一种我不懂编程就能理解的方式来解释这个解决方案,我将不胜感激。 谢谢你的帮助
@echo off
mode 1000
color a0
goto block1
:block1
set /p input1=
set /p input2=
set /p input3=
pause
if %input1% + %input2% << %input3% goto invalid
if %input1% + %input3% << %input2% goto invalid
if %input2% + %input3% << %input1% goto invalid
if %input1% + %input2% == %input3% goto invalid
if %input1% + %input3% == %input2% goto invalid
if %input2% + %input3% == %input1% goto invalid
goto valid
:valid
echo this triangle is valid
pause
goto block1
:invalid
echo this triangle is invalid
pause
goto block1
@echo关闭
模式1000
颜色a0
转到第1区
:区块1
设置/p输入1=
设置/p输入2=
设置/p输入3=
暂停
如果%input1%+%input2%检查命令语法。在if检查中不能执行算术运算,因此需要一个附加变量(也检查)。您还可以使用较少或相等的(LEQ
)来减少代码:
@echo off
mode 1000
color a0
goto block1
:block1
set /p input1=
set /p input2=
set /p input3=
set /a sum1=input2+input3
set /a sum2=input1+input3
set /a sum3=input1+input2
pause
if %sum3% LEQ %input3% goto invalid
if %sum2% LEQ %input2% goto invalid
if %sum1% LEQ %input1% goto invalid
goto valid
:valid
echo this triangle is valid
pause
goto block1
:invalid
echo this triangle is invalid
pause
goto block1
您只能使用SET/A
进行数学运算。阅读SET
和IF
命令的帮助。它们很容易理解。这是sum3上的类型吗?