作业帮 > 综合 > 作业

c++怎么求N(N

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/13 15:25:22
c++怎么求N(N
#include
#include
using namespace std;
void main(){
double N[101];
int n;
cin>>n;
if(n100){
printf("error\n");
exit(0);
}
for(int i=0;i>N[i];
sort(N,N+n);//默认排序从小到大,也可以自定义,且此排序时间复杂度低
cout
再问: 你这个没考虑正负啊
再答: //是我考虑不周了。如果还有问题欢迎随时追问。如果哪还有错,帮忙指出,让我知道下。 #include #include using namespace std; void main(){ double max,min; double N[101]; int n,start=0,end;//标记已用过的数 cin>>n;// if(n100){ printf("error\n"); exit(0); } for(int i=0;i>N[i]; sort(N,N+n); max=N[n-1]*N[n-2];//从小到大排列两数乘机最大不是在开头就是末尾,取末尾去和开头比较取最大 end=n-3; if(N[0]*N[1]>max) max=N[0]*N[1],end=end+2,start=2; if(N[start]=0) max=max*N[end],min=N[0]*N[1]*N[2];//没有负数情况 else{//负数有且只有两个 if(!start){//不是两个负数乘机取到最大 if(N[end]>0) max=max*N[end],min=max*N[0]; else max=N[0]*N[1]*N[n-1],min=max*N[0]; } else{ max=max*N[end]; min=N[n-1]*N[n-2]*N[0]; } } cout