-4

toomorow の講義用に 1 つのアプリのコーディングに問題があります。

したがって、そのプログラムはユーザーに数字を要求し、「100」と入力すると停止し、次のように表示されます: -average -min -max

どのような種類のループを使用する必要があるかはわかっています (do-while ですよね?)。しかし、配列を使用せずに平均、最小、最大をカウントするにはどうすればよいでしょうか?

4

3 に答える 3

2
Step 1 : user three temp variable 
Step 2 : initialize three temp variable(min,max,avg all by 0)
Step 1 : inside the loop if temp > max ==>> max = temp
Step 1 : inside the loop if temp < min ==>> min = temp
Step 1 : avg = ( avg + temp )/i

int[] values = { .. values .. }

int min=0,max=0,avg = 0;
for(int i=1;i<=values.length;i++)
{
if(min > values[i])
min = values[i] 
if(max < values[i])
max = values[i] 
avg = ( avg + values[i] ) / i
}
于 2012-12-03T14:33:02.150 に答える
1

配列なしで平均の最小値と最大値を計算する方法を教えてください。ただし、WITH 配列の最小値と最大値の平均を計算する方法を説明することはできません。

最小は簡単です:

int current_min
ArrayList<int> find_min = new ArrayList<int>();
for (int c : find_min)
    if (c < current_min)
        current_min = c;

最大は少し難しいです。「関数」を使用する必要があります

boolean check_if_integer_is_bigger_than_another_integer(int another_integer_to_check_against, int the_original_integer_goes_here_into_this_argument_here)
{
    if (another_integer_to_check_against > the_original_integer_goes_here_into_this_argument_here)
    return (another_integer_to_check_against > the_original_integer_goes_here_into_this_argument_here) //Important
    return (another_integer_to_check_against > the_original_integer_goes_here_into_this_argument_here)
}
    int current_max
    ArrayList<int> find_max = new ArrayList<int>();
    for (int c : find_max)
        if (check_if_integer_is_bigger_than_another_integer(c, current_max))
            current_max = c;

私は平均化することさえしたくありません。数字を追加する必要がありますが、私はその資格がありません。

于 2012-12-03T14:19:09.357 に答える
1

これは自分でコーディングする必要があるため、簡略化された擬似コードです。

min = max = total = user_input
count = 0
do {
    count++
    input = get_input
    total += input
    min or max maybe = input
} while (input !=100)
average = total / count
print stuff

幸運を

于 2012-12-03T14:18:43.680 に答える