Найти среднее арифметическое чисел, находящихся между a и b (while) - C (СИ)
Формулировка задачи:
Даны натуральные числа a и b. Найти среднее арифметическое всех чисел, находящихся между a и b.
Используя цикл white
Решение задачи: «Найти среднее арифметическое чисел, находящихся между a и b (while)»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
int avg(int a, int b)
{
int i,n,s;
s=0;
n=0;
for (i=a; i<=b; i++)
{
s+=i; n++;
}
return s/n;
}
int main(int argc, char* argv[])
{
int a,b,tmp;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
if (a==b)
{
printf("Bad data!\n");
return -1;
}
else
if (b < a)
{
tmp=a; a=b; b=tmp;
}
printf("avg=%d\n",avg(a,b));
getch();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем функцию
avg, которая принимает два целых числа и находит их среднее арифметическое - Внутри функции объявляем переменные
i,nиs, которые будут использоваться в цикле - Инициализируем переменную
sнулем и переменнуюnнулем - Запускаем цикл от
aдоb(включительно) и добавляем каждое число кs, увеличиваяnна единицу - Возвращаем среднее арифметическое
sиn - В функции
mainобъявляем переменныеa,bиtmp - Запрашиваем у пользователя значения для
aиbс помощьюscanf - Проверяем, равны ли
aиb, и если да, выводим сообщение об ошибке и завершаем программу - Если
aиbне равны, то меняем их значения местами, еслиbменьшеa, чтобы они были в порядке возрастания - Вызываем функцию
avgс аргументамиaиb - Выводим результат на экран с помощью
printf - Ждем нажатия клавиши с помощью
getch - Завершаем программу с кодом 0