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

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

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

Доброго дня! По условию задачи необходимо определить число, обратное введенному и вычислить полусумму этих чисел. Пример: вводим число 123 и получаем - (123+321)/2 Вроде как программу рабочую сделал, но хотел бы уточнить данный вид решения является оптимальным или можно данную задачу решить проще?
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

     int main()
     {
     system ("chcp 1251");
     system ("cls");
     int a,b;
     printf("введите число= ");
     scanf("%d",&a);
     int t=a,k=0;
     //определяем сколько цифр введено
     while (t!=0) 
     {
     t/=10;
     k++;
     }
     //определяем число, обратное введенному
     t=a;
     int c=0,n=0;
        for (n=0; n<k; n++)
        {
         b=t%10;
         t/=10;
         c=b*pow(10,k-n)+c;
                     }
       c/=10;    
     printf("\n обратное число= %d", c);
     //вычисляем полусумму чисел 
     printf("\n polsum= %d", (a+c)/2);  
     getchar();
     return 0;
}

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

textual
Листинг программы
     int a,b;
     printf("введите число= ");
     scanf("%d",&a);
     b=0;
     for (int t=a; t; t/=10) b=b*10+t%10;
     printf("\n обратное число= %d", b);
     //вычисляем полусумму чисел 
     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
Похожие ответы