Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел - C (СИ)
Формулировка задачи:
Если есть какие то недочеты, то напишите в комментариях.
#include <stdio.h>
#include <stdlib.h>
#include<locale.h>
#include<math.h>
int main()
{
setlocale(LC_ALL, "Rus");
int a = 0;
int sum = 0;
int sred=0;
int i=0;
printf("Введите последовательность чисел,заканчивающуюся 0. \n");
do
{
scanf("%d", &a);
sum += a;
i++;
} while (a!=0);
sred = sum / i;
printf("1: %d \n", sum);
printf("2:%d \n", sred);
system("pause");
}Решение задачи: «Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main ( void )
{
setlocale(LC_ALL, "Rus");
double a = 0, sum = 0, sred = 0, i = 0;
printf("Введите последовательность чисел,заканчивающуюся 0. \n");
do
{
scanf("%lf", &a);
sum += a;
if ( a == 0 )
continue;
else
++i;
} while ( a != 0 );
sred = sum / i;
printf("1: %.2f\n", sum);
printf("2:%.2f\n", sred);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и для обработки чисел с плавающей точкой.
- Установка русской локали для корректного вывода символов.
- Объявление переменных: a — для хранения очередного числа из последовательности; sum — для хранения суммы всех чисел последовательности; sred — для хранения среднего арифметического чисел последовательности; i — для подсчета количества чисел в последовательности.
- Вывод сообщения с просьбой ввести последовательность чисел, заканчивающуюся 0.
- Ввод чисел с помощью цикла do-while. Если введенное число равно 0, то происходит пропуск и переход к следующему числу. После ввода каждого числа происходит увеличение суммы и, если число не равно 0, то увеличение счетчика i.
- Вычисление среднего арифметического путем деления суммы на количество чисел.
- Вывод суммы и среднего арифметического на экран.
- Возврат 0, означающий успешный конец работы программы.