如何在iPhone的xCode中生成一个3位数的随机数

0 c++ iphone xcode iphone-developer-program

问题是我需要使用这样的代码,但它不适用于char变量.你能帮助我编写代码,或者展示我们如何使用数组来完成它吗?

码:

char numeroMaquina[0] = arc4random() % 9;

switch(numeroMaquina[0]) {
        case 0:
            numeroMaquina[0] = 1;

            break;
        case 1:
            numeroMaquina[0] = 2;

            break;
        case 2:
            numeroMaquina[0] = 3;

            break;
        case 3:
            numeroMaquina[0] = 4;

            break;
        case 4:
            numeroMaquina[0] = 5;

            break;
        case 5:
            numeroMaquina[0] = 6;

            break;
        case 6:
            numeroMaquina[0] = 7;

            break;
        case 7:
            numeroMaquina[0] = 8;

            break;
        case 8:
            numeroMaquina[0] = 9;

            break;
    }

    int numeroMaquina2 = arc4random() % 9;
    switch(numeroMaquina2) {
        case 0:
            numeroMaquina2 = 1;

            break;
        case 1:
            numeroMaquina2 = 2;

            break;
        case 2:
            numeroMaquina2 = 3;

            break;
        case 3:
            numeroMaquina2 = 4;

            break;
        case 4:
            numeroMaquina2 = 5;

            break;
        case 5:
            numeroMaquina2 = 6;

            break;
        case 6:
            numeroMaquina2 = 7;

            break;
        case 7:
            numeroMaquina2 = 8;

            break;
        case 8:
            numeroMaquina2 = 9;

            break;
    }


    int numeroMaquina3 = arc4random() % 9;
    switch(numeroMaquina3) {
        case 0:
            numeroMaquina3 = 1;

            break;
        case 1:
            numeroMaquina3 = 2;

            break;
        case 2:
            numeroMaquina3 = 3;

            break;
        case 3:
            numeroMaquina3 = 4;

            break;
        case 4:
            numeroMaquina3 = 5;

            break;
        case 5:
            numeroMaquina3 = 6;

            break;
        case 6:
            numeroMaquina3 = 7;

            break;
        case 7:
            numeroMaquina3 = 8;

            break;
        case 8:
            numeroMaquina3 = 9;

            break;
    }
Run Code Online (Sandbox Code Playgroud)

Jer*_*fin 5

这看起来像是有人通过这个词付钱的代码.总而言之,您的代码似乎与以下内容相当:

char NumeroMaquina[3];

for (int i=0; i<3; i++)
   NumerMaquina[i] = arc4random() % 9 + 1;
Run Code Online (Sandbox Code Playgroud)

我不确定你要完成什么.也许你真的想要它

NumeroMaquina[i] = arc4random() % 9 + '1';
Run Code Online (Sandbox Code Playgroud)

那么数组中的每个元素都是可打印的数字而不是?

如果(如标题所示)你只想要一个三位数的随机数,那么使用类似的东西可能更容易:

int number = arc4random() % 1000;
Run Code Online (Sandbox Code Playgroud)

编辑:为了防止0,你会使用:

int number = arc4random() % 999 + 1;
Run Code Online (Sandbox Code Playgroud)

...如果你想要它在一个字符串中,你可以转换它sprintf(例如):

char as_string[4];

sprintf(as_string, "%3d", number);
Run Code Online (Sandbox Code Playgroud)