一个关于优先队列的c语言问题。
#include<stdio.h>#include<algorithm>#include<math.h>#include<queue>usingnamespacestd;...
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<queue>
using namespace std;
priority_queue<double> q;
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
double val;
scanf("%lf",&val);
q.push(val);
}
for(int i=0;i<n;i++)
{
///printf("%d\n",q.top());
double m=q.top();
q.pop();
double n=q.top();
q.pop();
double v= 2*sqrt(m*n);
q.push(v);
}
printf("%lf\n",q.top());
return 0;
}
求大神看看为啥输出总是0??? 展开
#include<algorithm>
#include<math.h>
#include<queue>
using namespace std;
priority_queue<double> q;
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
double val;
scanf("%lf",&val);
q.push(val);
}
for(int i=0;i<n;i++)
{
///printf("%d\n",q.top());
double m=q.top();
q.pop();
double n=q.top();
q.pop();
double v= 2*sqrt(m*n);
q.push(v);
}
printf("%lf\n",q.top());
return 0;
}
求大神看看为啥输出总是0??? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询