Считать целое десятичное число getchar-ом - C (СИ)

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

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

сразу оговорюсь я знаю про
scanf("%d", &count);
интерисует как получить из нескольких введеных цифр число являющееся этими цифрами
 while ((c=getchar()) != EOF) if (с <= '9' && c >= '0')
1, 2, 5, 0 => 1250 общая концепция даже без кода, а просто вектор мысли могу их записывать в массив или создавать каждый раз переменную мне пофиг, но как потом это дело объеденить воедино вопрос.

Решение задачи: «Считать целое десятичное число getchar-ом»

textual
Листинг программы
#include <stdio.h>
#define MAX 10
int main()
{
  int s,i,j,rezult,pow;
  int tmp [MAX];
  for (i = 0; i < MAX; i++){
      tmp[i] = 0;
    }
  while ((s = getchar()) != '\n'){
      if (s >= '0' && s <= '9'){
          tmp[j++] = s - '0';
        }
    }
  for (j--,pow = 1; j>=0; j--){
      if (tmp[j]){
              rezult+=(tmp[j]*pow);
              pow *=10;
            }
 
        }
}

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

  1. Включаем файл стандартного ввода/вывода
  2. Определяем максимальное количество десятичных разрядов числа равным 10
  3. В функции main() инициализируем переменные типа int: s, i, j, rezult, pow равными 0
  4. Создаем массив типа int tmp[MAX] и заполняем его нулями
  5. Запускаем цикл while, который будет выполняться до тех пор, пока getchar() не вернет символ новой строки '\n'
  6. Внутри цикла проверяем, является ли введенный символ числом от 0 до 9 с помощью операции сравнения s >= '0' && s <= '9'
  7. Если это так, то добавляем значение этого числа в массив tmp[j++]
  8. После выхода из цикла while, начинаем цикл for, который будет выполнять обратное перебирание массива tmp
  9. Внутри цикла проверяем, если значение элемента массива tmp[j] не равно 0
  10. Если это так, то умножаем его на значение переменной pow и добавляем к переменной rezult
  11. Затем увеличиваем значение переменной pow на 10
  12. После выхода из цикла for, выводим значение переменной rezult с помощью функции printf()

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


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

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

14   голосов , оценка 4.143 из 5
Похожие ответы