因为考四科专业课,王道的题实在是太多了,刷不完就随手写了一个东西自己用。
rand()一定百分比的题号。set自带去重。以后再慢慢加功能吧。
第一次忘加s.clear()了,不好意思。
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <set>
using namespace std;
int main()
{
int tot;
double percent;
set<int> s;
while (true)
{
s.clear();
cout << "总题数" << endl;
cin >> tot;
cout << "百分比" << endl;
cin >> percent;
percent = (int)(percent*tot+0.5); // 忽然发现转int没有舍入操作,补上了个0.5
srand((unsigned int)time(NULL));
while (s.size()!=percent)
{
s.insert((rand() % tot) + 1);
}
set<int>::iterator it = s.begin();
int count = 0;
for (; it!=s.end(); it++)
{
if (count++ % 5 == 0)cout << endl;
cout <<"--- "<< *it << " ---" << endl;
}
}
}
效果如下,给自己看的。