【发布时间】:2015-03-23 03:58:57
【问题描述】:
所以这是一个实验室,我们应该在其中创建一个随机数生成器,以在 int 数组中生成至少 100 个整数。我相信我的代码中可能有一些错误,但我的编译器有 57 个错误,我只是没有看到那么多。下面的代码有什么问题?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int min, max, lowest = 0, highest = 0;
float average;
int randoms [100];
int main()
{
printf("Enter a minimun value.\n");
scanf("%d",&min);
printf("Enter a maximum value.\n");
scanf("%d",&max);
srand(10);
for(int i = 0; i < 100; i++)
{
randoms[i] = (rand() % ((max-min)+1) + min);
}
output();
lowest();
highest();
average();
}
void output()
{
for(int i = 0; i<101; i++)
{
if(i % 10 == 0)
{
printf(randoms[i]);
printf("\n");
}
else
{
printf(randoms[i]);
}
}
}
int lowest()
{
for(int i = 0; i > 101; i++)
{
if(randoms [i] < min) //finds the lowest value of array
{
min = randoms[i];
}
}
printf("The lowest value is: %d", %min);
return min;
}
int highest()
{
for(int i = 0; i > 100; i++)
{
if(randoms[i] > max)
{
max = randoms[i];
}
}
printf("The highest value is: %d", &max);
return max;
}
float average()
{
int sum = 0;
int count = 0;
for(int i = 0; i > 100; i++)
{
count++;
sum += randoms[i];
}
average = sum/count;
printf("The average value is: %d", &average);
return average;
}
【问题讨论】:
-
首先,您显然不了解
printf()的工作原理。阅读文档。printf(randoms[i]);当然不符合要求。此外,除非您打算进行整数除法,否则average = sum/count;不太可能按照您的想法进行。并停止将您的函数命名为全局变量的名称。您需要使用一个函数prototype。有件事告诉我for(int i = 0; i > 101; i++)也没什么用。 -
有这么多错误,很难说从哪里开始。我的建议:在创建程序时采取一些小步骤,并确保每一步都能正常工作。
-
也许你可以问一个让你困惑的错误问题,然后我们可以讨论它......
-
@sharon 编译器在这里并不重要,实际上。
标签: c arrays function generator