例2-1
题目描述 :
小明家里有很多长度不是一样的木棍,有一天他很无聊,便玩弄这些木棒来解闷,他想在这些木棒中挑出三根来组成一个直角三角形,当然他有很多种选法,所以他想挑一个面积最大的,
输入:
n(0-100)
n组数据(<=1000)
输出: 最大面积保留三位小数 不能组成则输出MyGod
源代码:
#include <stdio.h> #define N 101 int len[N]; double GetMaxArea(int n) { int i,j,k; double ans=-1; for(i=0;i<n;i++) for(j=i+1;j<n;j++) for(k=j+1;k<n;k++) { if((len[i]*len[i]+len[j]*len[j])==(len[k]*len[k])) { if(len[i]*len[j]*0.5>ans) { ans=len[i]*len[j]*0.5; } } } return ans; } int main() { int n,i; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d",&len[i]); } double ans=GetMaxArea(n); if(ans<0)printf("My God\n"); else printf("%.3lf\n",ans); } return 0; }