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

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

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

Если программа определила введенную строку числом, нужно вернуть эту строку так, чтобы все нули, которые стоят в начале строки, до чисел от 1 до 9, игнорировались. Библиотеки только те, которые уже подключены. Я ввожу: 01234 010203 12045 0000123 0 Программа отвечает: number: 1234 number: 10203 number: 12045 number: 123 number: 0
#include <stdio.h> // printf, scanf
#include <stdlib.h> // atoi
 
char buf[101];  // Max length
 
int isNumber (const char *buf) {
 
    int i = 0;
 
    // Checking each symbol.
    while (buf[i] != '\0')
    {
        if ( buf[i] < '0' || buf[i] > '9' )
        {
            return 0;
        }
        else i++;
    }
 
    // If all symbols are numbers - convert from string to decimal and return.
 
    unsigned char input = atoi(buf);
return 1;
}
 
int main (void) {
 
  while(scanf("%100s", buf) != EOF)  // Scanning string until end of string.
  {
    if (isNumber(buf))   // If found number - print.
    {
      printf ("number: %s",buf);
    }
    else // If not number - just word.
    {
      printf ("word: %s",buf);
    }
    printf("\n"); //new line after each word/number
  } //end of while
return 0;
}

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

textual
Листинг программы
printf ("number: %d", atoi(buf)) ;

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

В представленном коде на языке C выполняется следующая последовательность действий:

  1. В строке кода printf (number: %d, atoi(buf)) ; происходит попытка форматированного вывода информации.
  2. Функция printf принимает два аргумента: строку формата и набор значений для подстановки.
  3. В строке формата number: %d присутствует спецификатор формата %d, который указывает на то, что в этом месте должен быть выведен целочисленный значение.
  4. Функция atoi используется для преобразования строки, представленной в переменной buf, в целое число.
  5. Результат преобразования сохраняется в переменную, которая передается в функцию printf вторым аргументом.
  6. В данном случае, в качестве значения для вывода используется результат преобразования строки в целое число.
  7. При выполнении кода, в консоль будет выведено число, полученное в результате преобразования строки, представленной в переменной buf, в целое число.

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


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

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

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