Игнорирование нулей на стандартном выводе - 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 выполняется следующая последовательность действий:
- В строке кода
printf (
number: %d, atoi(buf)) ;
происходит попытка форматированного вывода информации. - Функция
printf
принимает два аргумента: строку формата и набор значений для подстановки. - В строке формата
number: %d
присутствует спецификатор формата%d
, который указывает на то, что в этом месте должен быть выведен целочисленный значение. - Функция
atoi
используется для преобразования строки, представленной в переменнойbuf
, в целое число. - Результат преобразования сохраняется в переменную, которая передается в функцию
printf
вторым аргументом. - В данном случае, в качестве значения для вывода используется результат преобразования строки в целое число.
- При выполнении кода, в консоль будет выведено число, полученное в результате преобразования строки, представленной в переменной
buf
, в целое число.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д