c - 初学者 : How to convert random generated number into number from 1 to 7

标签 c random switch-statement random-seed

我仍然是 c lang 编程世界的初学者,我希望能得到你的帮助!

#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;
}

这就是我想做的问题:

“编写一个 C 程序,从用户那里保存一个数字,并生成一个 1 到 7 之间的整数,并显示星期几的名称。”

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

最佳答案

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

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

关于c - 初学者 : How to convert random generated number into number from 1 to 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58641906/

相关文章:

c - 修复 Web 服务器上的缓冲区溢出漏洞

c++ - Windows 和 Linux 上不同的 rand() 结果

javascript - 在 JS 中使用函数获取随机数并重复使用该数字

java - 如何生成 0 到 9 之间的 1000 个随机数?

c - 错误 : function returns address of local variable

c - 构建一个读取数组的c程序

C++ 开关 : case <some constant> - is this allowed?

c - Switch 启动时默认运行

c++ - 多开关盒设计模式

c - 使用信号处理程序从函数返回