Найти среднее арифметическое чисел, находящихся между 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д