Замена букв независимо от регистра - C (СИ)

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

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

Проблема в том, что прога заменяет только заглавные буквы, т.е буквы zwx она не замечает,а задание такое: заменить все (независимо от регистра) буквы Z на А, W на B, X на C вот программа, что исправить??и ещё что-то с процессом returned
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
char str[100],str1[100]="",str2[20];int o,n;
gets(str);
char *ptr = strtok(str," \t");
while(ptr != NULL){//пока не конец строки
    strcpy(str2,ptr);//копируем слово в новую переменную
    n=strlen(str2);
    for (int i=0;i<n;i++){
    o=str2[i];//берем i-ый символ и сравниваем с буквами 
    if (o==90){o=65;//если i-ая буква = Z , то меням ее на А
    str2[i]=o;}
    if (o==87){o=66;//W ==> B
    str2[i]=o;}
    if(o==88){o=67;//X==>C
    str2[i]=o;}
    }
    strcat(str1,str2);//копируем слово в строку для вывода
    strcat(str1," ");//вставляем пробел
    ptr = strtok(NULL," \t");//переход на новое слово
}
puts (str1);
    return 0;
}

Решение задачи: «Замена букв независимо от регистра»

textual
Листинг программы
/* заменить все (независимо от регистра) буквы Z на А, W на B, X на C */
/* G++/Code::Blocks */
#include <stdio.h>
#include <stdlib.h>
 
 
int main(int argc, char *argv[])
{
    char str[100];
    int i;
 
    gets(str);
    for (i=0; str[i]!='\0'; i++)
        if (str[i]=='z' || str[i]=='Z')
            str[i]='A';
        else if (str[i]=='w' || str[i]=='W')
            str[i]='B';
        else if (str[i]=='x' || str[i]=='X')
            str[i]='C';
 
    puts (str);
 
    system("pause");
    return 0;
}

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

  1. В коде представлена программа на языке C, которая выполняет замену букв в строке независимо от регистра.
  2. Для работы программы необходимо подключение двух заголовочных файлов: stdio.h и stdlib.h.
  3. Структура программы включает в себя следующие элементы: объявление переменной типа char с именем str размером 100 символов, объявление переменной типа int с именем i, инициализация строки с помощью функции gets(str), проход по всем символам строки с помощью цикла for, проверка каждого символа на соответствие буквам 'z', 'Z', 'w', 'W', 'x', 'X' и замена найденных символов на 'A', 'B', 'C' соответственно.
  4. Вывод измененной строки осуществляется с помощью функции puts(str).
  5. В конце программы добавлен вызов функции system(pause), которая приостанавливает выполнение программы до нажатия клавиши.
  6. Программа завершается возвратом значения 0 в функцию main(), что означает успешный конец работы программы.

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


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

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

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