为什么我的错误符号? C ++

时间:2014-04-28 17:44:01

标签: c++ random symbols

我需要来自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;
}

1 个答案:

答案 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 - '/')