如何理解两个三角形不相同但相似?

我正在做作业。目的是根据用户输入的3 + 3边比较两个三角形。但是我坚持说:“三角形并不相同,但是它们是相似的。”步。因此,我的代码可以找到输入的最大,中间和最小边,但是即使我设置了一些比率值。它无法打印我想要的东西。

我检查了关于if和double用法的几个地方,并进行了比较,但无法弄清楚。

int main() {
int input1,input2,input3,input4,input5,input6;
printf("Triangle #1:\n");
scanf("%d %d %d",&input1,&input2,&input3);

if(input1 < 0 || input2 < 0 || input3 < 0 ) {
printf("Invalid input.\n");  
return 0;
}

if(input1 + input2 == input3 || input1 + input3 == input2 || input2 + 
input3 == input1 )
{
printf("The sides do not form a triangle.\n");
return 0;
}

printf("Triangle #2:\n");
scanf("%d %d %d",&input4,&input5,&input6);

int max1,max2,min1,min2,mid1,mid2;

if (input1 > input2 && input1 > input3) {
max1 = input1;
if (input2 > input3) {
mid1 = input2;
min1 = input3;
}
else {
mid1 = input3;
min1 = input2;
}
}  
//five more similar if blocks after this one: because there would be 
//3 different max value each triangle so 6 different block.

double ratio1 = max1/max2;
double ratio2 = mid1/mid2;
double ratio3 = min1/min2;

if (max1 == max2 || mid1 == mid2 || min1 == min2) {
printf("The triangles are identical.\n");
}
else if (ratio1 == ratio2 == ratio3) {
printf("The triangles are not identical,however,they are 
similar.\n");
}


return 0;
}

我希望代码最后使用else语句(包括ratio1,ratio2,ratio3部分)来打印此代码,然后输入两个三角形输入,例如“ 3-4-5”和“ 6-8-10”。

此外,如果我能解决这个问题。我可能需要输入“ 3 4 abcd”之类的东西,并且我需要再次给出无效的输入输出消息,因此,如果您也能帮助我,那将是很好的。

hzthzjln 回答:如何理解两个三角形不相同但相似?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3156543.html

大家都在问