我试图像这样更改char数组的顺序:
char arr_char[]="ABCDEFGHIJABCDEFGHIJ";
我在以下代码中使用了rand()函数:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
char arr_char[]="ABCDEFGHIJABCDEFGHIJ";
int arrSize=sizeof(arr_char)-1;
srand(time(0));
for(int i=0;i<20;i++)
{
cout<<arr_char[rand() % arrSize]<<" ";
}
}
但是rand函数将某些字符重复两次以上,而我想更改数组的顺序,其中每个字符仅重复两次而不更多。
答案 0 :(得分:3)
这可能就足够了
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string arr_char = "ABCDEFGHIJABCDEFGHIJ";
random_shuffle(arr_char.begin(), arr_char.end());
cout << arr_char;
}