Найти полусумму от введенного и обратного ему числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго дня! По условию задачи необходимо определить число, обратное введенному и вычислить полусумму этих чисел. Пример: вводим число 123 и получаем - (123+321)/2 Вроде как программу рабочую сделал, но хотел бы уточнить данный вид решения является оптимальным или можно данную задачу решить проще?
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4.  
  5. int main()
  6. {
  7. system ("chcp 1251");
  8. system ("cls");
  9. int a,b;
  10. printf("введите число= ");
  11. scanf("%d",&a);
  12. int t=a,k=0;
  13. //определяем сколько цифр введено
  14. while (t!=0)
  15. {
  16. t/=10;
  17. k++;
  18. }
  19. //определяем число, обратное введенному
  20. t=a;
  21. int c=0,n=0;
  22. for (n=0; n<k; n++)
  23. {
  24. b=t%10;
  25. t/=10;
  26. c=b*pow(10,k-n)+c;
  27. }
  28. c/=10;
  29. printf("\n обратное число= %d", c);
  30. //вычисляем полусумму чисел
  31. printf("\n polsum= %d", (a+c)/2);
  32. getchar();
  33. return 0;
  34. }

Решение задачи: «Найти полусумму от введенного и обратного ему числа»

textual
Листинг программы
  1.      int a,b;
  2.      printf("введите число= ");
  3.      scanf("%d",&a);
  4.      b=0;
  5.      for (int t=a; t; t/=10) b=b*10+t%10;
  6.      printf("\n обратное число= %d", b);
  7.      //вычисляем полусумму чисел
  8.      printf("\n polsum= %f", (a+b)/2.0);

Объяснение кода листинга программы

  1. Объявляются две переменные типа int - a и b.
  2. Пользователю предлагается ввести число, которое сохраняется в переменной a.
  3. Переменная b инициализируется нулем.
  4. В цикле for перебираются все цифры числа a, начиная с его старшего разряда. Для каждой цифры выполняется операция умножения b на 10 и сложения с остатком от деления t на 10 (что дает цифру числа, взятую с обратным знаком). Результат сохраняется в переменной b.
  5. Выводится обратное число, сохраненное в переменной b.
  6. Вычисляется полусумма чисел a и b. Для этого сначала выполняется операция сложения a и b, а затем результат делится на 2.0 (что дает полусумму с плавающей точкой).
  7. Выводится полусумма чисел a и b.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.583 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы