#c #char
#c #символ
Вопрос:
Задача состоит в том, чтобы добавить числовое значение ко всем символам английского алфавита, а затем, введя слово в программу, вычислить его значение. Кто-нибудь знает, как это можно сделать?
Комментарии:
1. Можете ли вы привести нам пример ввода и вывода? Например, чему должно соответствовать «hello»?
2. Похоже, это задача для вас — почему вы спрашиваете нас? Для начала, когда вы застряли, возвращайтесь!
3. входные данные: a 4 b 5… вывод abba: 18
4. Звучит как домашнее задание — если это так, вы должны пометить его как таковое.
5. Основная проблема здесь, на мой взгляд, заключается в разработке того, как будут определяться входные данные. Существует два набора входных данных — буквенные значения и фактические слова, подлежащие вычислению. Я бы предположил, что буквенные значения передаются программе в виде файла (конфигурации), поскольку они, вероятно, не будут меняться так часто, как слова, а сами слова должны передаваться программе через стандартный ввод, поскольку они, вероятно, будут меняться очень часто.
Ответ №1:
Если вас не волнует конкретное сопоставление символов с целыми числами, вы можете просто присвоить значение int:
char c = 'A';
int i = c;
Во многих архитектурах это приведет к сопоставлению A с 65, B с 66 и так далее.
Чтобы преобразовать целое слово в целое число, просто выполните цикл по всему слову и сложите целые числа. В вашем курсе уже должно быть рассмотрено, как написать цикл, который проверяет каждый символ строки.
Итак, вот лишь некоторый псевдокод, дающий вам общее представление о том, о чем я говорю:
int sum = 0
for each c in word
sum = c
Ответ №2:
Вы ведь знаете, что к символам C можно добавлять целые числа, не так ли?
char a = 'A';
char b = a 1;
int b_int = b;
cout << b << " " << b_int;
//should print
// 'b' 66
//or something like that
Символы в C — это просто (размером в байт) целые числа, находящиеся под капотом