c - 如何在 C 中显示随机数生成器的百分比

标签 c

<分区>

我似乎不知道该怎么办。我正在尝试使用 C 中的 rand() 进行练习,但我不知道如何做另一部分。

我希望输出看起来像:

硬币: 翻转:10 头:40% 尾部:60%

现在我的代码是这样的:

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

   int main()
   {
       int i, value;

       for(i=0; i < 10; i++){
         value = rand()%2;
         printf("Coin:\n____\n  Flips: 10\n");
         }

       return 0;

   }

我希望它生成正面或反面,然后显示它所拥有的百分比。有帮助吗?

最佳答案

问题是您在试验期间进行打印,而您应该只在试验完成后才进行打印。试试这个:

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

int main()
{
    int i, value;
    int heads = 0;

    srand(time(NULL)); /* seed for rand */

    for(i=0; i < 10; i++){
        value = rand() % 2;
        if (value == 1) {
            heads++;
        }
    }

    printf("Coin:\n____\n  Flips: 10\n");
    printf("    Heads: %d%%\n", heads * 10);
    printf("    Tails: %d%%\n\n", (10 - heads) * 10);

    return 0;
}

关于c - 如何在 C 中显示随机数生成器的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21768403/

相关文章:

c - scanf 之后 fgets 不起作用

c - 在c中没有基本库的情况下显示int

c - 什么是计算 floor(log(m/n)) 的有效方法,其中 m 和 n 是整数?

c - 生产者和消费者在数字生成器中没有正确关闭

c - 单元测试 stub C 辅助方法

c - 在 c sharp 中调整自定义窗体的大小(带有阴影效果)和鼠标拖动事件的控件?

c - 使用函数初始化数组

c - 这个打印函数如何将指针移动到链表中的下一项?

c - ‘close’ 的静态声明遵循非静态声明 static inline int close(int sock)

c - Lua 5.3-整数-type()-lua_type()