C++ 随机数稀有系统的建立及其应用&x27;它不工作了

C++ 随机数稀有系统的建立及其应用&x27;它不工作了,c++,C++,可能重复: 我想做的是生成一个随机数,根据这个数的值,写出“普通”、“罕见”或“非常罕见”。有人能帮我吗 #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { int a; srand(time(0)); a = 1 + (rand()%10); switch (a) {

可能重复:

我想做的是生成一个随机数,根据这个数的值,写出“普通”、“罕见”或“非常罕见”。有人能帮我吗

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    int a;
    srand(time(0));
    a = 1 + (rand()%10);

    switch (a)
    {
        case (a >= 0 && a <= 5):
        cout << "Common";
            break;

        case (a >= 6 && a <= 8):
        cout << "Rare";
            break;

        case (a >= 9 && a <= 10):
        cout << "Very rare";
            break;

        default:
            break;
    }

    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
INTA;
srand(时间(0));
a=1+(rand()%10);
开关(a)
{

案例(a>=0&&a您不能在开关案例中使用比较运算符。请尝试以下操作:

 switch (a)
    {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        cout << "Common";
            break;

        case 6:
        case 7:
        case 8:
        cout << "Rare";
            break;

        case 9:
        case 10:
        cout << "Very rare";
            break;

        default:
            break;
    }
开关(a)
{
案例1:
案例2:
案例3:
案例4:
案例5:

cout不能在交换机案例中使用比较运算符。请尝试以下操作:

 switch (a)
    {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        cout << "Common";
            break;

        case 6:
        case 7:
        case 8:
        cout << "Rare";
            break;

        case 9:
        case 10:
        cout << "Very rare";
            break;

        default:
            break;
    }
开关(a)
{
案例1:
案例2:
案例3:
案例4:
案例5:

cout如果要检查范围,我建议您使用If语句,以避免使用所有可能值的列表:

if (a >= 0 && a <= 5)
    cout << "Common";
else if (a >= 6 && a <= 8)
    cout << "Rare";
else if (a >= 9 && a <= 10)
    cout << "Very rare";

if(a>=0&&a如果要检查范围,建议使用if语句避免使用所有可能值的列表:

if (a >= 0 && a <= 5)
    cout << "Common";
else if (a >= 6 && a <= 8)
    cout << "Rare";
else if (a >= 9 && a <= 10)
    cout << "Very rare";

如果(a>=0&&a什么不起作用了?你有编译错误吗?分段错误吗?你每次都得到相同的值吗?什么?-1,这个问题的标题没有描述实际的问题,编译器错误一点也没有提到。
案例(a>=0&&a
a
怎么可能是0?什么不起作用?你有编译错误吗?分段错误吗?你每次都得到相同的值吗?什么?-1,这个问题的标题没有描述实际问题,编译器错误根本就没有提到。
案例(a>=0&&a
a
怎么可能是0呢?另外,switch语句以分号结尾。嗯,我是Java人,所以我相信,但我不这么认为。它是a=1+(rand()%10);因此它将加1,使可能的范围为1-10。是的,我认为这是错误的。非常感谢,我不知道我可以使多个案例具有相同的输出。再次感谢!:D@Josu莫丽娜:不一定。在C++中,类需要分号,交换语句不。还有,switch语句以分号结尾。嗯,我是Java人,所以我相信,但我不这么认为。它是a=1+(rand()%10);因此它将加1,使可能的范围为1-10。是的,我认为这是错误的。非常感谢,我不知道我可以使多个案例具有相同的输出。再次感谢!:D@Josu莫丽娜:不一定。在C++中,类需要分号,交换语句不。如果是的话,那也行,谢谢!那也行,谢谢!