初学者:如何将随机生成的数字转换为从1到7的数字

-1 c random switch-statement random-seed

我仍然是使用C语言进行编程的世界的初学者,如果您能得到我的帮助,我希望它!

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

int main()
{
    int week;

    /* Input week number from user */
    printf("Enter week number(1-7): ");
    scanf("%d", &week);

    switch(week)
    {
        case 1: 
            printf("Monday");
            break;
        case 2: 
            printf("Tuesday");
            break;
        case 3: 
            printf("Wednesday");
            break;
        case 4: 
            printf("Thursday");
            break;
        case 5: 
            printf("Friday");
            break;
        case 6: 
            printf("Saturday");
            break;
        case 7: 
            printf("Sunday");
            break;
        default: 
            printf("Invalid input! Please enter week number between 1-7.");
    }

    return 0;
}

Run Code Online (Sandbox Code Playgroud)

多数民众赞成在我想做的问题:

“编写一个C程序,该程序保留用户的数字,并生成1到7之间的整数,并显示工作日的名称。”

我目前唯一缺少的是我要让用户输入一个随机数,然后生成1到7之间的随机数

nac*_*yde 5

模运算符%可能是您想要的。在scanf()您的用户上将输入一个自定义值,该值将存储在内部week。然后,您需要将此值映射到1到7之间的数字。

使用week % 7,您将获得一个范围内的值[0,6],然后添加1以适合您的[1,7]范围。