2018招行笔试分红包
生活随笔
收集整理的這篇文章主要介紹了
2018招行笔试分红包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸入紅包總金額、人數、最小面額、最大面額、(第一個人默認拿到一塊錢);
輸出每個人獲得的紅包價格,以及獲得紅包最多的序號;
輸入
輸出
#include<iostream> #include <vector> #include <iomanip> #include <algorithm>using namespace std;int min(int a,int b);double randf(double Max,double Min,int num,double total); int main(){int people,max_index;double money,Max,Min,Max_v;cout<<"輸入總金額:";cin>>money;cout<<"輸入總人數:";cin>>people;cout<<"輸入最小值:";cin>>Min;cout<<"輸入最大值:";cin>>Max;vector<float> hongbao_value=vector<float>(people);hongbao_value[0]=1;cout<<"搶紅包結果如下:"<<endl;cout<<"第 1個人搶到的紅包金額為 1.00,紅包剩余金額為 "<<fixed<<setprecision(2)<<money-1.00<<endl;for(int i=1;i<people-1;i++){money=money-hongbao_value[i-1];hongbao_value[i]= randf( Max,Min,people-i+1,money);cout<<"第 " <<i+1<<"個人搶到的紅包金額為 "<<fixed<<setprecision(2)<<hongbao_value[i]<<",紅包剩余金額為 "<<money-hongbao_value[i]<<endl;}hongbao_value[people-1]=money;cout<<"第 " <<people<<"個人搶到的紅包金額為 "<<fixed<<setprecision(2)<<money-hongbao_value[people-2]<<",紅包剩余金額為 "<<"0.00"<<endl;vector<int> zs_value=vector<int>(people);for (int j = 0; j <people ; ++j) {zs_value[j]=int(hongbao_value[j]*100);}Max_v=*max_element(zs_value.begin(),zs_value.end())*1.0/100;max_index=max_element(zs_value.begin(),zs_value.end())-zs_value.begin();cout<<"搶到紅包金額最多的是"<<max_index+1<<"號";return 0; } double randf(double Max,double Min,int num,double total) {double output=(double)(rand()/(double)(Max-Min))+(double)Min;output=long(output*100)*1.0/100;if ((total-output)<(Min*(num-1)))return randf( Max,Min,num,total);else return output; }?
總結
以上是生活随笔為你收集整理的2018招行笔试分红包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常见信息流广告有哪些展现形式
- 下一篇: 做最好的自己(李开复)