Помогите мне найти ошибки в этом вводе
#include<stdio.h> #include<conio.h> int main() { int i; float num, average, sum; printf("Maximum num of inputs: "); scanf("%d",&i); for(i=1;i>=1;++i) { printf("Enter %d\n: ",i); scanf("%d",&i); sum=+num; } jump: average=sum/(i-1); printf("Average: %.2f",i); getch (); return 0; }
Что я уже пробовал:
Я не думаю, что результат, который я получил, является правильным
jeron1
Это вообще компилируется?
for(i=1;i>=1;++i); <-- semicolon not needed . . if("i<0.0"); <- semicolon not needed goto <- goto nothing?
Member 13428864
неужели выход должен выглядеть вот так? Или он должен остановиться в зависимости от того, сколько максимальное количество входов я ставлю?
Максимальное количество входов: 3
Введите 1
: 1
Введите 2
: 2
Введите 3
: 3
Введите 4
: 4
Введите 5
: 5
Введите 6
:
jeron1
Да, учитывая вашу конструкцию цикла for.
for (i=1; i>=1;++i)
в этот момент "i=1" Вы перепишете введенное пользователем значение (как указал Ричард). Кроме того, я всегда буду больше или равен 1, так что" i >= 1 " на самом деле ничего не делает. Как насчет чего-то вроде
for (int j = 0; j < i; j++) { //do your stuff }
Member 13428864
так это выглядело так?
Максимальное количество входов: 3
Введите 3
: 3
Введите 3
: 3
Введите 3
: 3
Среднее значение: 0.00
--------------------------------
Процесс вышел с возвращаемым значением 0
Нажмите любую клавишу, чтобы продолжить ...
jeron1
Измените оператор for loop внутри цикла for scanf на num, а не i, потому что я не должен меняться после того, как пользователь вводит его (перед циклом for). Возможно, пройдите программу на бумаге, скажем, для 2 чисел, на каждом шаге вычислите, какой будет каждая переменная. Вы можете найти, где лежат ваши проблемы. Или еще лучше, установите точку останова с помощью отладчика и пройдите через код, чтобы увидеть, как меняются значения.
Richard MacCutchan
И еще одна простая ошибка, которую вы можете легко обнаружить, прочитав свой код более внимательно:
scanf("%d",&i);
sum=+num;
Вы читаете число в переменную i
а затем попробуйте добавить переменную num
к sum
.