Обработка символьного рядка - C (СИ) (154546)
Формулировка задачи:
Проверить, является правильной записью беззнакового целого числа, в системе счисления с основанием 5, введенная с клавиатуры символьная строка (с возможными символами пробела перед числом и после него). Если да, то определить и напечатать десятичное значение этого числа.
Решение задачи: «Обработка символьного рядка»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> int Check(char *s, char **beg, char **end) { for(; *s && *s == ' '; ++s) ; for(*beg = s; *s && (*s >= '0' && *s <= '4'); ++s) ; for(*end = s - 1; *s && *s == ' ' ; ++s) ; return !(*s); } int Number(char *beg, char *end) { return beg <= end ? (*end - '0') + 5 * Number(beg, end - 1) : 0; } int main() { char s[1024], *beg, *end; int a; fgets(s, 1024, stdin); s[strlen(s) - 1] = '\0'; if (Check(s, &beg, &end)) { a = Number(beg, end); printf("a = %d\n", a); } return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д