三角形:任意两边之和大于第三边
#include<stdlib.h>
using namespace std;
typedef int datatype;
int judge(datatype a,datatype b,datatype c)
{
if(a+b>c&&a+c>b&&b+c>a)
return 1;
return 0;
}
void Cmaxtriangle(int n)
{
int i,j,k;
int x,y,z;
int p=0;
datatype sum;
datatype max=0;
datatype a[n];
cout<<"input"<<' '<<n<<' '<<"number:";
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
for(k=j+1;k<n;k++)
{
if(judge(a[i],a[j],a[k]))
{
p++;
sum=a[i]+a[j]+a[k];
if(sum>max)
{
max=sum;
x=i;
y=j;
z=k;
}
cout<<sum<<' ';
}
if(p%5==0)
cout<<endl;
}
cout<<endl;
cout<<a[x]<<' '<<a[y]<<' '<<a[z]<<endl;
cout<<"the max is"<<' '<<max<<endl;
}
int main()
{
int num;
cout<<"输入棍子数:";
cin>>num;
Cmaxtriangle(num);
system("pause");
return 0;
}