大小の正しい値が得られない理由がわかりません。 与えられた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を1回だけ計算する必要があります。 – Shiping
または、読み取った最初の値からmaxとminを設定します。その後、新しい値と優勢な最大値および最小値を比較します。 –