const char chars[] = "abcdef ....";
char result[...];
memcpy(result, chars, sizeof(chars));
for (unsigned i = 0; i < (sizeof(chars)-1); ++i) {
unsigned j = rand() % sizeof(chars);
char tmp = result[j];
result[j] = result[i];
result[i] = tmp;
}
将结果写入文本文件时出现问题。如何在不重复的情况下洗牌字符“abcdefghijklmnopqrstuvwxyz”
是的,没有+ 1就没问题了,这在这里完全没有必要。 – 2012-07-15 09:21:58
我试过你的方法,它不给我有趣的性格,但它给我号码65-90如何将它们显示为字母表? – newbieprogrammer 2012-07-15 11:28:54
@ user1526669:没有-1它会工作。目前,它将所有内容都转换为整数(将字符提升为整数)。所以要么删除+ -1,要么做cout <<(char)(letter [i] +'A'-1)<< ... – 2012-07-15 11:31:32