生成随机数&在添加/减去它们之后比较目标c中的结果

时间:2013-12-30 18:14:02

标签: ios iphone objective-c random

由于我来自其他脚本语言背景,因此我不是那么专注于Objective-c& iPhone编程。 我自己尝试了一些Objective-c代码,但它们并没有像我预期的那样工作。

我已经详细说明了我对此图片的要求:https://dl.dropboxusercontent.com/u/81691511/Math.jpg

所以我正在向专家寻求关于我的计划的帮助 -

  1. 我想在Objective-C中为iPhone制作一个程序,它将生成随机数&生成标志(如+, - ,*,/)。
  2. 然后它将在2个不同的部分中用随机值减去/加/乘/除。
  3. 现在用户必须在两个部分之间进行比较。
  4. 2个部分的结果是=或<或者> 。标志将有三个单独的按钮。
  5. 在用户按下按钮后,如果正确/错误,新标签将显示答案。
  6. 如果答案错误,也会显示正确的答案。
  7. 有关Objective-c语言的此计划的任何帮助。

    提前致谢。

2 个答案:

答案 0 :(得分:2)

要在范围内生成随机数,请使用:

int randomInteger = arc4random_uniform(range);

生成随机运算符:

NSArray  *operators = @[@"+", @"-", @"*", @"/"];
int       randomOperatorIndex = arc4random_uniform(4);
NSString *randomOperator = operators[randomOperatorIndex];

您需要自己弄清楚并编写的其余代码。如果您遇到问题,请使用问题代码发布另一个问题以获取帮助。

注意:
arc4random()是一个高质量的32位伪随机数生成器,不需要播种,它会从内核强随机数子系统定期播种。

arc4random_uniform(range)返回0到(范围-1)范围内的整数。它具有额外的好处,它避免了mod(%)运算符所做的“模偏差”。

答案 1 :(得分:0)

使用arc4random()生成随机编号

使用以下命令生成随机运算符

-(NSString*) getRamdomOperator
{
    int randNum = arc4random_uniform(4);

    NSString *operator;

    switch(randNum)
    {
        case 0:
        operator = @"+";
        break;

        case 1:
        operator = @"-";
        break;

        case 2:
        operator = @"/";
        break;

        case 3:
        operator = @"*";
        break;

        Default:
        break;
     }

   return operator;
}