如何在C中将运行时随机生成的数字与用户输入的数字进行比较?

时间:2019-04-30 17:06:43

标签: c

我正在用c制作Bubble游戏,其中在控制台窗口上随机生成一些数字,并且用户需要输入出现在屏幕或控制台窗口上的数字,并且我需要将用户输入的内容与随机生成的数字进行比较,并制作该数字在屏幕上看不见。

我在c语言中使用了rand()函数,对于用户输入,我使用了getch()函数,并且尝试了每种类型转换,但尚未获得解决方案。

void main() {
char temp1 = 0;
char temp = 0;
temp1 = rand()%10;
   temp = getch();
   if(temp == temp1)
   printf("ok");
  }

我想比较运行时随机生成的值和用户输入,以及通过查看控制台上的数字是否等于我要退出而得到的用户输入。

1 个答案:

答案 0 :(得分:0)

数字字符的字符代码值为'0''9'(在ASCII字符集中为0x30至0x39或十进制为48至57),而rand() % 10的整数值为0至9

通过将字符代码'0'(48)添加到随机数,您将生成一个随机字符代码'0''9'

int main()
{
    char temp1 = rand() % 10 + '0' ;
    char temp = getch() ;

    if( temp == temp1 )
    {
        printf("ok");
    }

    return 0 ;
}

或者,如果从输入的字符中减去'0',则将数字字符转换为它们对应的0到9整数值(其他字符转换为其他值)。