首页 > 解决方案 > 四个不相同的随机整数

问题描述

对于我的程序,我需要四个不相同的随机个位数整数。

含义:即 1568 有效,1251 无效。

我找到了一种非常简单的方法来实现这一点,方法是检查数字是否等于先前生成的整数,如果是,则生成一个新整数。

srand(time(NULL));

int dig1 = rand() % 10;

int dig2 = rand() % 10;
while (dig2 == dig1)
{
    dig2 = rand() % 10;
}

int dig3 = rand() % 10;
while (dig3 == dig1 || dig3 == dig2)
{
    dig2 = rand() % 10;
}

int dig4 = rand() % 10;
while (dig4 == dig1 || dig4 == dig2 || dig4 == dig3)
{
    dig2 = rand() % 10;
}

有没有更优雅的编码方式?感谢您的帮助,祝您有美好的一天!

标签: c++

解决方案


推荐阅读