Присвоение символов C

#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 — это просто (размером в байт) целые числа, находящиеся под капотом