我似乎无法弄清楚为什么我没有得到大小的正确值。 我应该找到给定的n个数字的范围,我必须在循环之前设置大和小的值吗?C程序将不计算最小和最大(大和小)
这里是我的代码:
#include <stdio.h>
int main()
{
//Declaring Variables
int i, number, sum = 0, value, large, small;
double avg;
//User Input
printf("Enter the number of elements you want to compute.\n");
scanf("%d", &number);
printf("Enter %d values.\n", number);
//Loop to grab values
for(i=0;i<number;i++)
{
scanf("%d", &value);
large = value;
small = value;
if(value > large)
large = value;
if(value < small)
small = value;
//Sum Calculation
sum = sum + value;
//Average Calculation
avg = (((double)sum)/number);
}
printf("The sum of the %d numbers is: %d\n", number,sum);
printf("The avg of the %d numbers is: %.2f\n", number, avg);
printf("The largest number is: %d\n", large);
printf("The smallest number is: %d\n", small);
return 0;
}
您需要首先启动大小适当的值,例如,设置为-10000(小于可能的最小输入值)和小于10000(大于最大可能输入值)。你只需要在for循环之后计算一次avg。 – Shiping
或者,从读取的第一个值中设置最大值和最小值。之后,您将比较新的值与当前的最大值和最小值。 –