最大和最小随机数

时间:2014-12-04 16:11:51

标签: c

我需要写一个C程序:
1.填充20个基本数组(标记),随机数在0到100之间 2.将数字8打印到一行。
3.打印出最大值和最小值以及数字的平均值。

我写了下面的程序,除了min之外,每件事情都还可以,我不知道我怎么能做到这一点,或者提示会非常感激。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
    int i = 0;
    int sum = 0;
    int avg = 0;
    int min = 0;
    int max = 0;
    int x = 0;
    int random = 0;
    int num[20] = { 0 };
    srand(time(NULL));

    for (x = 0; x<20; x++)
    {
        random = rand() % 100 + 1;
        num[x] = random;

        if (num[x]>max)
        {
            max = num[x];
        }
        if (x % 8 == 0)
        {
            printf("\n");
        }

        sum += random;
        printf("%d\t", num[x]);
    }

    avg = sum / 20;
    printf("\n\nthis is Max number: %d", max);
    printf("\nThis is average number:%d", avg);
    printf("\nThis is min number:", min);

    return 0;
}

1 个答案:

答案 0 :(得分:1)

您的代码中有一个确定最大值的条件。找到最小值也需要相同,即,像这样:

if (num[x]<min)
{
    min = num[x];
}

但是这永远不会成立,因为min为0而num[x]总是大于0.所以通过更改

min设置为100
int min = 0;

int min = 100;

但是,您的代码仍无法按预期工作。这是因为您忘记在上一个%d中添加格式说明符(printf)。所以改变

printf("\nThis is min number:", min);

printf("\nThis is min number:%d", min);

最后,您的代码将有效!