火花杯:森林捡木棍拼三角形

偶然看到的一道题,挺有意思,感觉能拿来作为第一次发博客的内容

问题:小明在森林里捡到了n根木棍,小明想要选出其中三根作为三角形的三条边,从而组成一个三角形。问可以组成的三角形中周长最大的是多少?

输入:
第一行一个数字n(木棍根数)
第二行n个数字(分别代表木棍的长度)
输出:
一个数字,表示最大周长。

样例输入
7
2 6 2 5 4 15 1
输出
15

在这里插入图片描述
在这里插入图片描述

#include<string.h>
#include<stdio.h>
int main()
{
int length[100],t;
int i,j,num,C; //C为周长
scanf("%d",&num);
for(i=0;i<num;i++)
scanf("%d",&length[i]); //循环取数字进数组length中;
for(j=0;j<num-1;j++) //重点!!!要看懂!!!这嵌套循环是用冒泡法将数组中较大的元素调到后面去形成有序数组,方便后面调用
{
for(i=0;i<num-i-1;i++)
if(length[i]>length[i+1])
{
t=length[i];
length[i+1]=t;
length[i]=t;
}
}

for(i=num;i>0;i–)
{
if((length[i]-length[i-1])<length[i-2])
{
C=length[i]+length[i-1]+length[i-2];
printf("%d",C);
break; //从最大的三个数开始相加求和,if语句是判断这三个数是否构成一个三角形
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值