#include <stdio.h>
#include <stdlib.h>
int main() {
int Sum=0,numbers;
double Average;
int counter = 0;
printf("\nPlease Enter the Numbers one by one\n");
for(;;) {
scanf("%d",&numbers);
if(numbers == 0) {
break;
}
else {
Sum = Sum + numbers;
counter++;
}
}
Average = Sum/counter;
printf("\nSum of the %d Numbers = %d",counter, Sum);
printf("\nAverage of the %d Numbers = %.4f",counter, Average);
return 0;
}
無限の数の入力を取ることができるプログラムを書いて、1つの変数に追加し、キー0を押したときにすべての入力番号の平均を出力します。C - 出力が丸められます
しかし、問題は、私は、例5と2のために入力すると、数学的操作は、 をAverage = SUM/Counter
を開始すると和変数7.カウンタの値が、しかし2
の値を有していることです結果は3.00ではなく3.500 ....
誰かが私の問題がどこにあるか知っていますか?
助けていただければ幸いです。
乾杯
マルコ
SUMはint型であるため、結果を倍精度に変換します。 –
ありがとうございます。 –