c++练习--binary查找

题目:
处理score.txt中的学生成绩信息

  1. 并且指出及格率,
  2. 得分87~100之间的学生比例

要求:
1.使用multiset存储对象数据
2.使用2分查找函数处理检索要求。 如:lower_bound, up_bound和equal_range

思路:
1.将成绩放入multiset
2.成绩 x>60
3.成绩 87>x>100

#include<iostream>
#include<fstream>
#include<set>
using namespace std;
//lower_bound:大于等于  upper_bound:大于
istream& operator>>(istream &in,pair<int,string> &p){
    in>>p.second>>p.first;
    return in;
}

int main(){
    multiset<int> m;
    multiset<int>::iterator it,it1,it2,it3;
    pair<int,string> p;
    int score;
    string id;
    ifstream in("score.txt");
    while(in>>p){   //in >> id >> score
        m.insert(p.first);
    }
    int num=m.size();
    cout<<"总数:"<<num<<endl;

    //for(it=m.begin();it!=m.end();it++)cout<<*it<<endl;

    it1=m.lower_bound(60);
    cout<<"及格率:"<<distance(it1,m.end())/(num*1.0)*100<<"%"<<endl;

    it2=m.lower_bound(87);
    it3=m.upper_bound(100);
    //cout<<*--it2<<" "<<*--it3<<endl;
    cout<<"87~100:"<<distance(it2,it3)/(num*1.0)*100<<"%"<<endl;

    return 0;
}

输出:

总数:1000
及格率:91.6%
87~100:6.6%

问题:
数据取舍:研究成绩,所以只将成绩放入集合,其他数据弃之

文件:

20131000	78
20131001	44
20131002	82
20131003	68
20131004	73
20131005	64
20131006	77
20131007	70
20131008	61
20131009	70
20131010	72
20131011	99
20131012	74
20131013	67
20131014	65
20131015	74
20131016	76
20131017	63
20131018	74
20131019	55
20131020	81
20131021	68
20131022	75
20131023	74
20131024	72
20131025	68
20131026	67
20131027	98
20131028	48
20131029	73
20131030	68
20131031	85
20131032	63
20131033	81
20131034	70
20131035	78
20131036	63
20131037	89
20131038	60
20131039	64
20131040	50
20131041	49
20131042	61
20131043	63
20131044	71
20131045	58
20131046	78
20131047	48
20131048	84
20131049	78
20131050	77
20131051	76
20131052	84
20131053	70
20131054	73
20131055	74
20131056	58
20131057	75
20131058	75
20131059	76
20131060	72
20131061	70
20131062	61
20131063	77
20131064	75
20131065	76
20131066	60
20131067	66
20131068	73
20131069	51
20131070	67
20131071	89
20131072	76
20131073	48
20131074	60
20131075	76
20131076	67
20131077	76
20131078	73
20131079	60
20131080	74
20131081	85
20131082	96
20131083	79
20131084	67
20131085	72
20131086	67
20131087	89
20131088	68
20131089	69
20131090	71
20131091	82
20131092	64
20131093	69
20131094	83
20131095	91
20131096	68
20131097	63
20131098	52
20131099	64
20131100	64
20131101	70
20131102	68
20131103	61
20131104	72
20131105	70
20131106	68
20131107	73
20131108	73
20131109	52
20131110	55
20131111	62
20131112	52
20131113	66
20131114	63
20131115	79
20131116	70
20131117	96
20131118	75
20131119	84
20131120	60
20131121	53
20131122	72
20131123	70
20131124	74
20131125	68
20131126	81
20131127	80
20131128	71
20131129	64
20131130	64
20131131	47
20131132	71
20131133	68
20131134	90
20131135	48
20131136	80
20131137	73
20131138	77
20131139	61
20131140	61
20131141	61
20131142	66
20131143	80
20131144	67
20131145	63
20131146	61
20131147	94
20131148	84
20131149	84
20131150	79
20131151	77
20131152	74
20131153	74
20131154	67
20131155	64
20131156	66
20131157	66
20131158	58
20131159	70
20131160	77
20131161	85
20131162	69
20131163	66
20131164	76
20131165	64
20131166	70
20131167	90
20131168	74
20131169	73
20131170	76
20131171	62
20131172	62
20131173	68
20131174	65
20131175	70
20131176	73
20131177	75
20131178	70
20131179	62
20131180	54
20131181	75
20131182	64
20131183	75
20131184	81
20131185	77
20131186	76
20131187	70
20131188	75
20131189	69
20131190	63
20131191	57
20131192	78
20131193	69
20131194	80
20131195	76
20131196	64
20131197	71
20131198	80
20131199	44
20131200	65
20131201	81
20131202	91
20131203	61
20131204	61
20131205	68
20131206	83
20131207	71
20131208	78
20131209	67
20131210	71
20131211	74
20131212	69
20131213	66
20131214	64
20131215	62
20131216	68
20131217	70
20131218	93
20131219	68
20131220	67
20131221	71
20131222	64
20131223	72
20131224	68
20131225	78
20131226	80
20131227	67
20131228	61
20131229	80
20131230	79
20131231	53
20131232	69
20131233	69
20131234	69
20131235	61
20131236	61
20131237	95
20131238	75
20131239	71
20131240	82
20131241	60
20131242	91
20131243	72
20131244	85
20131245	72
20131246	70
20131247	61
20131248	45
20131249	84
20131250	48
20131251	100
20131252	71
20131253	60
20131254	58
20131255	73
20131256	62
20131257	63
20131258	67
20131259	82
20131260	76
20131261	71
20131262	73
20131263	99
20131264	78
20131265	61
20131266	73
20131267	54
20131268	74
20131269	77
20131270	65
20131271	67
20131272	82
20131273	75
20131274	76
20131275	77
20131276	43
20131277	61
20131278	72
20131279	90
20131280	71
20131281	77
20131282	77
20131283	60
20131284	71
20131285	99
20131286	84
20131287	77
20131288	78
20131289	64
20131290	78
20131291	66
20131292	65
20131293	99
20131294	84
20131295	62
20131296	94
20131297	69
20131298	63
20131299	62
20131300	43
20131301	73
20131302	98
20131303	62
20131304	70
20131305	83
20131306	86
20131307	71
20131308	98
20131309	69
20131310	79
20131311	74
20131312	70
20131313	78
20131314	80
20131315	58
20131316	67
20131317	64
20131318	75
20131319	98
20131320	61
20131321	84
20131322	65
20131323	74
20131324	62
20131325	68
20131326	82
20131327	64
20131328	55
20131329	69
20131330	69
20131331	93
20131332	64
20131333	62
20131334	77
20131335	63
20131336	60
20131337	71
20131338	66
20131339	98
20131340	73
20131341	90
20131342	46
20131343	77
20131344	62
20131345	69
20131346	71
20131347	70
20131348	58
20131349	59
20131350	70
20131351	60
20131352	76
20131353	68
20131354	83
20131355	84
20131356	63
20131357	84
20131358	74
20131359	75
20131360	78
20131361	78
20131362	71
20131363	62
20131364	67
20131365	62
20131366	64
20131367	73
20131368	63
20131369	78
20131370	69
20131371	66
20131372	70
20131373	74
20131374	79
20131375	61
20131376	77
20131377	72
20131378	48
20131379	75
20131380	78
20131381	68
20131382	68
20131383	62
20131384	74
20131385	84
20131386	70
20131387	62
20131388	71
20131389	67
20131390	61
20131391	63
20131392	85
20131393	63
20131394	93
20131395	88
20131396	66
20131397	67
20131398	98
20131399	74
20131400	61
20131401	62
20131402	65
20131403	75
20131404	75
20131405	46
20131406	89
20131407	74
20131408	84
20131409	69
20131410	60
20131411	83
20131412	61
20131413	67
20131414	75
20131415	65
20131416	67
20131417	70
20131418	61
20131419	68
20131420	65
20131421	68
20131422	77
20131423	68
20131424	69
20131425	61
20131426	70
20131427	94
20131428	61
20131429	65
20131430	82
20131431	62
20131432	82
20131433	74
20131434	54
20131435	61
20131436	50
20131437	68
20131438	56
20131439	60
20131440	66
20131441	51
20131442	70
20131443	69
20131444	86
20131445	68
20131446	63
20131447	89
20131448	67
20131449	66
20131450	78
20131451	72
20131452	65
20131453	65
20131454	60
20131455	76
20131456	79
20131457	84
20131458	74
20131459	76
20131460	63
20131461	77
20131462	73
20131463	54
20131464	85
20131465	67
20131466	68
20131467	61
20131468	73
20131469	48
20131470	64
20131471	61
20131472	76
20131473	71
20131474	82
20131475	78
20131476	47
20131477	82
20131478	65
20131479	81
20131480	69
20131481	66
20131482	83
20131483	74
20131484	62
20131485	85
20131486	74
20131487	71
20131488	74
20131489	81
20131490	71
20131491	69
20131492	60
20131493	83
20131494	66
20131495	64
20131496	65
20131497	64
20131498	76
20131499	96
20131500	61
20131501	76
20131502	62
20131503	77
20131504	74
20131505	62
20131506	100
20131507	84
20131508	77
20131509	75
20131510	61
20131511	44
20131512	53
20131513	69
20131514	61
20131515	78
20131516	63
20131517	70
20131518	50
20131519	68
20131520	74
20131521	72
20131522	72
20131523	65
20131524	81
20131525	83
20131526	62
20131527	84
20131528	88
20131529	68
20131530	97
20131531	68
20131532	92
20131533	85
20131534	73
20131535	55
20131536	68
20131537	52
20131538	76
20131539	56
20131540	74
20131541	67
20131542	69
20131543	77
20131544	71
20131545	82
20131546	61
20131547	74
20131548	85
20131549	62
20131550	64
20131551	72
20131552	76
20131553	67
20131554	66
20131555	74
20131556	76
20131557	55
20131558	70
20131559	73
20131560	78
20131561	68
20131562	77
20131563	75
20131564	56
20131565	69
20131566	70
20131567	62
20131568	64
20131569	84
20131570	64
20131571	62
20131572	82
20131573	72
20131574	76
20131575	77
20131576	77
20131577	76
20131578	86
20131579	76
20131580	66
20131581	60
20131582	60
20131583	65
20131584	85
20131585	98
20131586	79
20131587	71
20131588	91
20131589	60
20131590	71
20131591	74
20131592	63
20131593	64
20131594	66
20131595	73
20131596	69
20131597	69
20131598	75
20131599	77
20131600	68
20131601	78
20131602	62
20131603	67
20131604	77
20131605	71
20131606	84
20131607	45
20131608	60
20131609	78
20131610	64
20131611	70
20131612	75
20131613	62
20131614	73
20131615	71
20131616	73
20131617	71
20131618	70
20131619	66
20131620	60
20131621	88
20131622	83
20131623	85
20131624	70
20131625	72
20131626	59
20131627	71
20131628	76
20131629	65
20131630	59
20131631	61
20131632	78
20131633	60
20131634	96
20131635	77
20131636	78
20131637	72
20131638	90
20131639	75
20131640	79
20131641	68
20131642	43
20131643	75
20131644	74
20131645	77
20131646	72
20131647	64
20131648	70
20131649	67
20131650	76
20131651	77
20131652	71
20131653	61
20131654	63
20131655	81
20131656	63
20131657	64
20131658	67
20131659	67
20131660	82
20131661	90
20131662	63
20131663	64
20131664	69
20131665	63
20131666	69
20131667	76
20131668	60
20131669	58
20131670	53
20131671	89
20131672	67
20131673	100
20131674	76
20131675	66
20131676	69
20131677	62
20131678	88
20131679	74
20131680	45
20131681	68
20131682	44
20131683	65
20131684	68
20131685	80
20131686	70
20131687	67
20131688	64
20131689	78
20131690	80
20131691	74
20131692	81
20131693	83
20131694	72
20131695	55
20131696	69
20131697	72
20131698	76
20131699	64
20131700	69
20131701	96
20131702	61
20131703	74
20131704	63
20131705	68
20131706	52
20131707	74
20131708	68
20131709	76
20131710	61
20131711	66
20131712	66
20131713	84
20131714	62
20131715	47
20131716	73
20131717	75
20131718	84
20131719	76
20131720	62
20131721	71
20131722	84
20131723	62
20131724	76
20131725	63
20131726	73
20131727	72
20131728	60
20131729	77
20131730	82
20131731	73
20131732	76
20131733	92
20131734	92
20131735	74
20131736	85
20131737	94
20131738	82
20131739	73
20131740	89
20131741	66
20131742	73
20131743	74
20131744	53
20131745	66
20131746	66
20131747	68
20131748	67
20131749	67
20131750	78
20131751	63
20131752	62
20131753	63
20131754	64
20131755	79
20131756	55
20131757	70
20131758	77
20131759	81
20131760	54
20131761	63
20131762	84
20131763	69
20131764	60
20131765	71
20131766	55
20131767	82
20131768	68
20131769	64
20131770	58
20131771	76
20131772	68
20131773	88
20131774	54
20131775	67
20131776	75
20131777	75
20131778	62
20131779	68
20131780	60
20131781	44
20131782	73
20131783	60
20131784	77
20131785	75
20131786	69
20131787	59
20131788	59
20131789	73
20131790	49
20131791	71
20131792	78
20131793	66
20131794	84
20131795	95
20131796	79
20131797	69
20131798	47
20131799	85
20131800	83
20131801	73
20131802	87
20131803	70
20131804	72
20131805	76
20131806	62
20131807	60
20131808	63
20131809	74
20131810	67
20131811	76
20131812	76
20131813	70
20131814	68
20131815	62
20131816	68
20131817	89
20131818	64
20131819	78
20131820	63
20131821	61
20131822	77
20131823	61
20131824	64
20131825	61
20131826	64
20131827	81
20131828	61
20131829	66
20131830	65
20131831	61
20131832	77
20131833	64
20131834	72
20131835	62
20131836	73
20131837	71
20131838	63
20131839	46
20131840	66
20131841	77
20131842	74
20131843	97
20131844	65
20131845	61
20131846	78
20131847	55
20131848	73
20131849	60
20131850	66
20131851	68
20131852	62
20131853	71
20131854	78
20131855	68
20131856	62
20131857	66
20131858	79
20131859	89
20131860	85
20131861	64
20131862	68
20131863	65
20131864	44
20131865	76
20131866	56
20131867	78
20131868	71
20131869	63
20131870	75
20131871	69
20131872	75
20131873	80
20131874	64
20131875	76
20131876	75
20131877	62
20131878	68
20131879	73
20131880	55
20131881	81
20131882	62
20131883	88
20131884	46
20131885	76
20131886	73
20131887	62
20131888	71
20131889	95
20131890	79
20131891	69
20131892	78
20131893	67
20131894	75
20131895	61
20131896	82
20131897	61
20131898	63
20131899	61
20131900	64
20131901	66
20131902	68
20131903	84
20131904	59
20131905	69
20131906	82
20131907	74
20131908	85
20131909	76
20131910	73
20131911	76
20131912	74
20131913	67
20131914	63
20131915	67
20131916	84
20131917	72
20131918	75
20131919	79
20131920	63
20131921	60
20131922	57
20131923	62
20131924	65
20131925	51
20131926	62
20131927	74
20131928	71
20131929	65
20131930	67
20131931	83
20131932	73
20131933	62
20131934	76
20131935	85
20131936	92
20131937	65
20131938	65
20131939	72
20131940	63
20131941	61
20131942	94
20131943	69
20131944	60
20131945	72
20131946	68
20131947	76
20131948	64
20131949	77
20131950	84
20131951	77
20131952	68
20131953	63
20131954	76
20131955	76
20131956	62
20131957	76
20131958	61
20131959	43
20131960	60
20131961	62
20131962	82
20131963	84
20131964	62
20131965	68
20131966	64
20131967	73
20131968	72
20131969	61
20131970	77
20131971	78
20131972	100
20131973	73
20131974	62
20131975	98
20131976	69
20131977	82
20131978	79
20131979	60
20131980	77
20131981	49
20131982	70
20131983	77
20131984	68
20131985	60
20131986	80
20131987	79
20131988	93
20131989	52
20131990	63
20131991	75
20131992	74
20131993	66
20131994	67
20131995	60
20131996	65
20131997	68
20131998	69
20131999	93
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值