【发布时间】:2014-04-08 05:12:29
【问题描述】:
所以我正在尝试测试一些东西,看看 rand() 在 C++ 中是如何工作的!我对 c++ 很陌生,但我想知道如何在生成数字 1 或 2 时获得以下代码以打印出字母 B 或 A?代码询问他是否要生成一个字母,输入 y 表示是或 n 表示否!然后生成一个字母,但它似乎只生成字母 A??有什么想法吗?
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main(){
char x;
char d;
cout << "generate random letter?(y/n)" << endl;
cin >> x;
if (x = 'y'){
srand(time(NULL));
int randNum = (rand() % 2) + 1;
if (randNum = 1){
d = 'A';
}
else {
d = 'B';
}
cout << d << endl;
}
else{ return 0; }
system("pause");
}
【问题讨论】:
-
提示:在许多本地和平台上,'B' == 'A' + 1。
-
@ThomasMatthews,不是在 所有 语言环境和平台上吗?我手头没有标准,但我认为实际上可以保证
'A'到'Z'具有连续的字符代码。
标签: c++ string random numbers percentage