Я пытаюсь создать программу, которая вычисляет среднее значение любого желаемого числа поплавков до EOF. Программа также должна проверить правильность ввода и вернуть «Неверный ввод», когда, например, ввод строки. Код, который я написал, работает, но он дает неправильные выходы для среднего. Может ли кто-нибудь сказать мне, почему?Правильное использование scanf() в C, неправильный вывод
#include <stdio.h>
int main(void) {
int times = 0;
float sum = 0;
float scan;
float avrg;
int scanvalue = 1;
while (scanvalue == 1) {
scanvalue = scanf("%f", &scan);
sum = sum + scan;
times++;
}
if (scanvalue == EOF) {
avrg = sum/times;
printf("The average is %f\n", avrg);
} else {
printf("Wrong input");
}
return 0;
}
С уважением.
вы могли бы привести пример ввода и вывода? – Marievi
Я бы заподозрил * неправильное использование 'scanf()' correct output *, что, в свою очередь, было, конечно, неожиданным **. –
Какова ваша система и компилятор? Какой ключ вы делаете для завершения ввода? –