Преобразование русских символов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Проблема: не знаю, как преобразовать нижний регистр русских символов в верхний. С латинскими проблем нет. Можете подсказать, в чём ошибка
char s[32];
    int len, i;
    printf("Enter string:\n");
    gets(s);
    len = strlen(s);
    for(i=0; i<len; i++)
    {
        if(s[i] >= 'а' && s[i]<= 'я') toupper(s[i]);
    }
    printf("%s", s);
    return 0;

Решение задачи: «Преобразование русских символов»

textual
Листинг программы
if ( s[i] > 'а' && s[i] < 'я') s[i] = s[i]-'a' + 'A';

Объяснение кода листинга программы

В данном коде происходит преобразование русских символов в верхний регистр.

  1. Проверяется условие: если символ в позиции i больше 'а' и меньше 'я', то выполняется следующее действие.
  2. Значение переменной s[i] уменьшается на 'а' и увеличивается на 'A'.
  3. Результат записывается обратно в переменную s[i].

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы