#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;
}
Я написал программу, которая может принимать бесконечные числа ввода, добавлять их в одну переменную и выводить среднее значение всех входных чисел при нажатии клавиши 0.C - Выход округлен
Однако проблема заключается в том, что при вводе в примере 5, и 2 переменная сумма имеет значение 7. И счетчик имеет значение 2.
Однако, когда математическая операция начинается Average = SUM/Counter
, то результат 3.00 не 3.500 ....
Кто-нибудь знает, где моя проблема?
Поблагодарили бы за любую помощь.
Приветствия
Marco
потому что SUM is int ... Typecast результат, чтобы удвоить –
Спасибо, что он работает =). –