Определить количество крема для украшения торта - C (СИ)
Формулировка задачи:
неразрешима задача на C
Различные символы требуют разного количества крема: большие буквы W и M - 10 грамм, все другие крупные буквы и цифры (кроме 1) - 7 грамм, большая буква I, цифра 1 и восклицательный знак! , А также все строчные буквы (кроме i, j и l) - 5 грамм, а строчные буквы и, j и l потребует 3 грамма крема. точки и зап'ятие не в счет
Входные данные: Строка символов, в котором записан текст, что украшать торт. Количество символов не превышает 255.
Результат: Одно целое число, равное суммарной массе крема, необходимой для изготовления заданного надписи.
Решение задачи: «Определить количество крема для украшения торта»
textual
Листинг программы
#include <stdio.h> int creme_needed(const char* str) { static int weights[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 5, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 5, 7, 7, 7, 10, 7, 7, 7, 7, 7, 7, 7, 7, 7, 10, 7, 7, 7, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int sum = 0; while (*str) { sum += weights[(unsigned char)*str++]; } return sum; } int main(void) { printf("%d\n", creme_needed("Happy birthday, Vtulhu!")); return 0; }
Объяснение кода листинга программы
- В функции creme_needed происходит расчет количества крема для украшения торта на основе введенной строки.
- Массив weights содержит коэффициенты для каждой буквы.
- Значения массива отсортированы по возрастанию, кроме последних трех элементов, которые содержат суммарный вес для каждой группы символов.
- В функции main вызывается функция creme_needed с аргументом
Happy birthday, Vtulhu!
. - Функция creme_needed проходит по каждому символу в строке и суммирует соответствующие значения из массива weights.
- Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д