Сумма каждого третьего положительного - C (СИ)
Формулировка задачи:
Дана целочисленная последовательность. Признаком завершения последовательности является ноль, записанный после последнего элемента последовательности. Вычислить сумму каждого третьего положительного элемента, начиная с первого положительного.
Пример входного файла:
29070 23565 -29141 29915 22568 21096 2...
Пример выходного файла:
1574377
В чем ошибка?
#include<stdio.h> int main() { int n,k=0,s=0; while(1) { scanf("%d", &n); if(n>0) { if(k%3==0) printf("%d",n); k++; } s=s+n; } printf("%d",s); return 0; }
Решение задачи: «Сумма каждого третьего положительного»
textual
Листинг программы
#include<stdio.h> int main(void) { int n = EOF , k = 0, s = 0; while(n != 0)// если n не 0 - цикл работает, как только 0 - цикл заканчивает работу { printf("Enter 'n': "); scanf("%d", &n); if(n > 0){ if(k%3 == 0) printf("\t%d\n",n); k++; } s+=n; } printf("\nResult %d\n",s); return 0; }
Объяснение кода листинга программы
В этом коде:
- Инициализируются три переменные: n, k и s.
- Переменная n инициализируется значением EOF, которое обычно используется в качестве маркера конца файла в стандартных вводах и выводах.
- Переменная k инициализируется нулем.
- Переменная s инициализируется нулем.
- Затем начинается цикл while, который продолжается до тех пор, пока значение переменной n не станет равным нулю.
- В каждой итерации цикла пользователю предлагается ввести значение переменной n.
- Если введенное значение больше нуля, то проверяется, делится ли значение переменной k на 3 без остатка.
- Если да, то введенное значение выводится на экран.
- Значение переменной k увеличивается на единицу.
- Значение переменной s увеличивается на введенное значение переменной n.
- После окончания цикла выводится на экран значение переменной s.
- Код возвращает нулевое значение, что обычно означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д