#include<stdio.h>
#include<math.h>
#define max 20
double f(double t)
{
return 2*sqrt((double)(t*t-1));
}
int main()
{
int i,j,m,n;
double a[max],sum,b[max],k,t;
printf("要几组数据?\n");
scanf("%d",&m);
while(m--)
{
printf("一组数据多少个?\n") ;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
//if(k>1) a[i]=k;
for(j=0;j<n;j++)
for(i=0;i<=n-j-1;i++)
if(a[i]<a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
for(i=0,sum=0.0;i<n;i++)
{
sum=sum+f(a[i]);
if(sum>=20.0)
{
break;
}
}
printf("%d\n",i+1);
}
}
有参考!哼!
就没有弄<1 的情况了,以后再完善吧