【发布时间】:2017-09-07 14:11:12
【问题描述】:
此代码应该生成 30 个随机数,0-100,并打印平均值、最大值和最小值。但它有逻辑错误,我不禁认为我犯了一个愚蠢的错误。
****代码应该生成0-100之间的30个数字,并显示平均值,最大值和最小值****
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 30
int generateRandom(void);
int main(void)
{
int points[SIZE], i, sum, max, min, num;
double average;
srand(time(NULL)); /*Seed random number generator*/
num = generateRandom(); /*Genrate the random numbers*/
printf("num = %d\n", num); /*Print the random numbers*/
sum = 0;
for ( i = 0; i < SIZE; i++) /*Find the average*/
{
sum += points[i];
average = sum / SIZE;
}
printf("Average = %f", average); /*Print the average*/
max = points[0]; /*initialize the max to 0*/
for ( i = 0; i < SIZE; i++) /*find the min*/
{
if (points[i] > max)
{
max = points[i];
}
}
printf("Maximum = %d\n", max); /*print the maximum number*/
min = points[0]; /*initialize the min*/
for ( i = 0; i < SIZE; i++) /*Find the min*/
{
if (points[i] < min)
{
min = points[i];
}
}
printf("Minimum = %d\n", min); /*Print the minimum number*/
return 0;
}
int generateRandom(void)
{
int random;
random = rand() % 101;
return random;
}
【问题讨论】:
-
来自help center:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及必要的最短代码在问题本身中重现它。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
-
“如何修复逻辑错误”。第一步是了解错误在哪里。最好的工具是调试器。调试器将允许您跟踪程序的执行并在其运行时检查其状态。
标签: c arrays random numbers generator