c++语言编程 30
组装三角形(20分)题目内容:有若干个长度不等的木条,我们要把其中的木条,尽可能多的组装成三角形的架子,当然,有些木条组合起来,不一定能组成三角形。输入格式:第一行输入n...
组装三角形(20分)
题目内容:
有若干个长度不等的木条,我们要把其中的木条,尽可能多的组装成三角形的架子,当然,有些木条组合起来,不一定能组成三角形。
输入格式:
第一行输入n
第二行输入n个木条的长度:a1 a2 a3………an
输出格式:
可最多组成三角形的个数
输入样例:
3[回车]
3[空格]4[空格]5[回车]
输出样例:
1[回车] 展开
题目内容:
有若干个长度不等的木条,我们要把其中的木条,尽可能多的组装成三角形的架子,当然,有些木条组合起来,不一定能组成三角形。
输入格式:
第一行输入n
第二行输入n个木条的长度:a1 a2 a3………an
输出格式:
可最多组成三角形的个数
输入样例:
3[回车]
3[空格]4[空格]5[回车]
输出样例:
1[回车] 展开
2个回答
展开全部
#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;
}
展开全部
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询