Вывести сумму отрицательных чисел - C (СИ)
Формулировка задачи:
Напишите программу, печатающую на экране сумму вводимых с клавиатуры отрицательных вещественных чисел (положительные числа игнорируются). Выход из программы происходит при введении числа 0.
Решение задачи: «Вывести сумму отрицательных чисел»
textual
Листинг программы
#include <stdio.h>
typedef float real;
int main() {
real r, sum = .0;
while (scanf("%f", &r), r)
if (r < .0)
sum += r;
printf("%f", sum);
}
Объяснение кода листинга программы
В этом коде:
- Сначала подключается стандартная библиотека ввода-вывода, которая позволяет работать с функцией scanf для считывания чисел с клавиатуры и функцией printf для вывода чисел на экран.
- Затем определяется тип переменной r, который будет использоваться для хранения чисел с плавающей точкой (типа float или real).
- В функции main() создаются две переменные: r и sum. Переменная r будет использоваться для хранения считанного числа, а переменная sum - для хранения суммы отрицательных чисел. Изначально sum инициализируется нулём.
- Затем в цикле while с помощью функции scanf считывается число с клавиатуры и сохраняется в переменной r. Функция scanf возвращает значение 1, если успешно считала число, и 0, если произошла ошибка (например, пользователь ввёл не число). Поэтому условием цикла является выражение scanf(
%f, &r), r), которое будет истинным, пока scanf успешно считывает число. - Внутри цикла проверяется, является ли число отрицательным (т.е. меньше нуля). Если это так, то оно прибавляется к переменной sum.
- После окончания цикла выводится на экран значение переменной sum с помощью функции printf.
- В конце функции main() возвращается 0, что означает успешное завершение работы программы.