我需要来自ASCII范围的随机符号
http://i.imgur.com/ZeNZa8b.jpg
但我得到的是一些奇怪的符号。为什么呢?
http://i.imgur.com/XxyfMV3.jpg
#include <iostream>
#include <stdio.h>
#include <time.h>
using namespace std;
int main()
{
char k;
int i;
srand(time(0));
for (i = 1; i < -10; i++)
{
k=(rand() % 33) + 15;
printf("%c", k);
}
return 0;
}
答案 0 :(得分:3)
确定。你需要更好地理解mod:在这里你去
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
main()
{
char k;
int i;
srand(time(NULL));
for(i = 1; i <= 10; i++)
{
k=(rand() % 14) + 33; //range is (47 - 33), add 33 to get that range.
printf("%c", k);
}
return 0;
}
mod将取数字n,并将其置于0-13范围内,然后我们添加33以将其置于33和47之间
希望这有帮助。
你所做的是取数字并将它放在0到32的范围之间,然后加15,将它放在15和47的范围内(SI - '/')