题目:
处理score.txt中的学生成绩信息
- 并且指出及格率,
- 得分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