c - 将随机数排序到容器中 - C

标签 c sorting if-statement for-loop random

我正在尝试编写一些代码,对生成的随机数(在 0 和 1 之间)进行排序,并将其排序到“bin”(即一个数组)中。然后窗口打印出每个容器中随机数的数量。希望这有道理,但我真的很挣扎。我是一个完全的初学者,我完全陷入困境,需要一些关于如何使代码工作以及下一步该做什么的帮助。这是我到目前为止所得到的。

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

int main()
        {
        double x,y;
        int i;
        int data[i];
        unsigned int time_ui;
        time_ui = (unsigned int)( time(NULL) );
        srand(time_ui);
        x = rand()/ (double)RAND_MAX;
            data[i]=0;
        for (i=0; i<10; i++)
        {
            (x*10)=y;
            if ((int)y == i)
            {
            data[i]+=1;
            }
        printf("Bin %d contains %d random numbers\n", i, data[i]);
        }

    return 0;
    }

最佳答案

我想我明白你想要做什么,这就是我可以做的

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



int main()
{
    double x,y;
    int i;
    int data[10];  // you will generate 10 bins
    unsigned int time_ui;
    time_ui = (unsigned int)( time(NULL) );
    srand(time_ui);


    for (i =0; i<10; i++) // initialize each bin
    {
        data[i] = 0;
    }

    for (i=0; i<100; i++)  // generate and examine 100 random you can do it for more
    {
        x = rand()/(double)RAND_MAX; // generate random number
        y = 10 *x;                   // predict in which bin it will be
        data[(int)y]++;              // increase that bin by 1
    }



    for (i =0; i<10; i++) // once done, let's print it out
    {
        printf("Bin %d contains %d random numbers\n", i, data[i]);
    }

    return 0;

}

编辑

并不是很重要,只是为了好玩,你可以打印出这样的结果:

for (i =0; i<10; i++) // once done, let's print it out
    {
        printf("\t");
        for(j = 0; j<data[i]; j++)
        {
            printf("_ ");
        }
        printf("\nBin %d\t", i);
        for(j = 0; j<data[i]; j++)
        {
            printf("_|");
        }
        printf("%d\n", data[i]);

    }

不要忘记定义int j;

关于c - 将随机数排序到容器中 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24641951/

相关文章:

c - "Can' t 打开输出文件“scanf 调用时出错

algorithm - boolean 值排序,O(N) 时间,O(1) 空间

javascript - 如何使用条件标签来切换这个样式表?

C# 三元 if 运算符给出可空 double 问题

excel - 嵌套 IF Excel - 替代方案

C - "Run-Time Check Failure #2 - Stack around the variable ' str' 已损坏。”

java - c 中是否有类似于 Reflection API 的东西,并且注释在 java 中?

c - 我们如何知道调用者函数的名称?

java - 如何将集合转换为列表?

java - 有没有办法向 Eclipse 的 "Sort all members"添加排除项?