c++语言编程 30

组装三角形(20分)题目内容:有若干个长度不等的木条,我们要把其中的木条,尽可能多的组装成三角形的架子,当然,有些木条组合起来,不一定能组成三角形。输入格式:第一行输入n... 组装三角形(20分)
题目内容:
有若干个长度不等的木条,我们要把其中的木条,尽可能多的组装成三角形的架子,当然,有些木条组合起来,不一定能组成三角形。

输入格式:
第一行输入n
第二行输入n个木条的长度:a1 a2 a3………an

输出格式:
可最多组成三角形的个数

输入样例:
3[回车]
3[空格]4[空格]5[回车]

输出样例:
1[回车]
展开
 我来答
丿艾瑞灬莉娅
2018-05-11 · TA获得超过916个赞
知道小有建树答主
回答量:926
采纳率:78%
帮助的人:428万
展开全部
#include <iostream>
using namespace std;

inline bool Triangle(int &a, int &b, int &c)
{
    return (a+b>c && a+c>b && b+c>a);
}

int main()
{
    ios::sync_with_stdio(false);
    
    int n;
    cin >> n;
    int *len = new int[n];
    for(int i = 0; i < n; ++i)
        cin >> len[i];
    
    int i, j, k;
    int count = 0;
    for(i = 0; i < n-2; ++i)
        for(j = i+1; j < n-1; ++j)
            for(k = j+1; k < n; ++k)
                if(Triangle(len[i],len[j],len[k]))
                    ++count;
    cout << count << endl;            
        
    return 0;
}
free发哥降临
2018-05-11 · 超过18用户采纳过TA的回答
知道答主
回答量:87
采纳率:18%
帮助的人:16.3万
展开全部

emmm 应该要3重循环嵌套了

#include <iostream>
using namespace std;

bool triangle(int a,int b,int c)
{
    if((a+b)>c&&(a+c)>b&&(b+c)>a) 
        return(1); 
    else 
        return(0); 
    
}

int main(void)
{
    int n,i,j,k;
    int number=0;
    int side[99];
    cin>>n;
    for(i=0;i<n;i++)
        cin>>side[i];
    for(i=0;i<n-2;i++)
        for(j=i+1;j<n-1;i++)
            for(k=j+2;k<n;k++)
                if(triangle(side[i],side[j],side[k]))
                    number++;
    cout<<number<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式