題目如下:

思路分析:

寫出完整的程序:
1 /*
2 問題描述:
3 有n根棍子,棍子i的長度為ai。想要從中選出3根棍子組成周長盡可能長的三角形。請輸
4 出最大的周長,若無法組成三角形則輸出0。
5 */
6
7 #include<stdio.h>
8 #include<Stdlib.h>
9 #define MAX 1000
10 int max(int a,int b){//得出兩個數中最大的那個
11 if(a>b)
12 return a;
13 else
14 return b;
15 }
16 int main(){
17 int n,ans=0;//n是數字數目,ans是最後的最長答案
18 printf("輸入n:");
19 scanf("%d",&n);//獲取要判斷的數目
20 int a[MAX];
21 printf("輸入%d個數:\n",n);
22 for(int m=0;m<n;m++)
23 {
24 scanf("%d",&a[m]);//循環輸入要判斷的數
25 }
26 int i,j,k;
27 //讓i<j<k,這樣不會重復選中
28 for(i=0;i<n;i++)
29 for(j=i+1;j<n;j++)
30 for(k=j+1;k<n;k++)
31 {
32 int len=a[i]+a[j]+a[k];//周長
33 if((a[i]+a[j]>a[k])&&(a[j]+a[k]>a[i])&&(a[i]+a[k]>a[j]))
34 {
35 ans=max(len,ans); //替換答案
36 }
37 }
38 printf("最終最長的周長:%d\n",ans);
39
40 system("pause");
41 return 0;
42
43 }