Почему проходит всего одна итерация?

#include <stdio.h>

#include <math.h>

int res=0,counter=0,N,cikl;

float number,sr;

int main(){

    printf("Write N: ");scanf("%i",&N);

    for (cikl=0;cikl<N;cikl++){

        printf("Write some float number: ");scanf("%f",&number);

        if (fmod(number,7.0)==0){

            res=res+number;

            counter++; }

    sr=res/counter;}

printf("%f",sr);

return 0; }

Работаю на VScode, запускаю код а проходит всего лишь одна итерация цикла? В чем может быть проблема?


Ответы (1 шт):

Автор решения: Harry

Вероятно, первым же числом (Write some float number:) вы вводите НЕ 7, получаете ненулевое значение в fmod, и в результате деление 0/0 — и программа аварийно завершается...

Встречный вопрос — вы хотя бы 5 минут думали над проблемой? Вставляли отладочный вывод, типа, printf("Line %d\n",__LINE__) или со значениями переменных, если уж отладчиком воспользоваться не судьба? Или сразу бросились жаловаться в Интернет, что вас компилятор обижает? Поймите, ответить нетрудно, но программистом при этом вы не станете...

→ Ссылка