Замена букв независимо от регистра - 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; }
Объяснение кода листинга программы
- В коде представлена программа на языке C, которая выполняет замену букв в строке независимо от регистра.
- Для работы программы необходимо подключение двух заголовочных файлов: stdio.h и stdlib.h.
- Структура программы включает в себя следующие элементы: объявление переменной типа char с именем str размером 100 символов, объявление переменной типа int с именем i, инициализация строки с помощью функции gets(str), проход по всем символам строки с помощью цикла for, проверка каждого символа на соответствие буквам 'z', 'Z', 'w', 'W', 'x', 'X' и замена найденных символов на 'A', 'B', 'C' соответственно.
- Вывод измененной строки осуществляется с помощью функции puts(str).
- В конце программы добавлен вызов функции system(
pause
), которая приостанавливает выполнение программы до нажатия клавиши. - Программа завершается возвратом значения 0 в функцию main(), что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д