Я вижу два раздела. Все перед первым пробелом является неотъемлемой частью. Все после первого пробела является дробным сечением. После разделения двух разделов можно просто удалить пробелы из дробного раздела, разделить этот раздел на символ / и разделить первую часть на 2-ю часть (если есть 2-я часть). Затем добавьте результат в интегральный раздел, чтобы найти свой ответ.
Этот алгоритм должен давать правильный результат для каждого из ваших образцов. Это может также дать неверный результат для сэмплов, подобных этим: «9 .25 / 4» или «9 3/0», так что это вещи, которые нужно отслеживать. Другие вещи включают начальные пробелы, хотите ли вы разрешить другие пробелы, символы валюты, является ли «9,25» (без пробелов) допустимым вводом, и что делать с иррациональными дробями, такими как «1/3», «1/10» ( иррациональное в двоичном) и т. д.
Обычно я не большой сторонник разработки с использованием тестов (что вы должны сначала написать тесты и обеспечить 100% охват) для языков со статической типизацией, но я думаю, что юнит-тесты имеют значение в определенных конкретных ситуациях, и это одна из тех ситуаций. Я бы собрал несколько тестов как для некоторых общих, так и для крайних случаев, чтобы вы могли быть уверены, что все, что у вас получится, правильно обрабатывает входные данные для прохождения тестов.