ZOJ 1543 水题 求培养皿的最小重量

View Code
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<math.h>
 4 
 5 int cmp(const void *a,const void *b)//这里要用double貌似用int不行
 6 {
 7     return *(double *)a > *(double *)b ? 1 : -1;
 8 }
 9 
10 int main()
11 {
12     int i, n, ncases;
13     double total;  
14     double weight[101];
15 
16     while( scanf("%d",&ncases) != EOF)
17     {
18        for(i=0; i<ncases; i++)
19        {
20            scanf("%lf", &weight[i]);    
21        }   
22        qsort(weight,ncases,sizeof(weight[0]),cmp);  
23        total = weight[ncases-1];
24        for(i=ncases-2; i>=0; i--)
25        {  
26          total = 2*sqrt(total*weight[i]);  
27        }   
28        printf("%.3lf\n",total);    
29     }      
30     return 0;       
31 }
posted @ 2012-04-19 23:22  zhongya  阅读(293)  评论(0编辑  收藏  举报