Сравнение символа и строки - C (СИ)
Формулировка задачи:
#include <stdio.h> # include <string.h> # include <stdlib.h> # include <conio.h> # include <stdio.h> # include <ctype.h> int main() { int i, j, la, lb, ia,ib, n; char ch[]=".,!?;"; char min, a[80], b[80]; //clrscr(); printf("str A: "); gets(a); printf("\n"); printf("str B: "); gets(b); la = strlen(a); lb = strlen(b); ia = 0; ib=0; for (i=0; i<strlen(ch); i++) {if (strchr(a, ch[i]) != 0) ia = 1; } ib=0, lb=strlen(b); for (i=0; i<=lb-1; i++) { for (j=i+1; j<=lb; j++) if (b[i] == b[j]) ib = 1; } if ((ia == 1) && (ib == 0)) { la=strlen(a); i=0; for (i=0; i<=ib; i++) if (a[i]=ch )) a[i++]=a[i]; a[i]="\0"; } printf("Obrabotannayastroka A: "); puts(a); getch(); }
{ la=strlen(a); i=0; for (i=0; i<=ib; i++) if (a[i]=ch )) a[i++]=a[i]; a[i]="\0"; }
Решение задачи: «Сравнение символа и строки»
textual
Листинг программы
// ANSI C 99 #include <stdio.h> #include <wchar.h> #include <locale.h> #include <assert.h> #define KILL_CHARS L",.!?-:;" int main(void) { wchar_t buf[BUFSIZ]; assert( setlocale(LC_ALL, "ru_RU.UTF-8") ); while ( printf("Строка: ") && fgetws(buf, BUFSIZ, stdin) && *buf != '\n' ) { for ( wchar_t * ptr = wcspbrk(buf, KILL_CHARS); ptr; ptr = wcspbrk(ptr, KILL_CHARS) ) wmemmove(ptr, ptr + 1, wcslen(ptr)); printf("Без байды: %ls", buf); } return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется макрос KILL_CHARS, который содержит символы, которые необходимо удалить из строки
- Устанавливается локальная настройка на русский язык с использованием функции setlocale
- Создается буфер для хранения строки
- Проверяется корректность работы программы с помощью assert
- Организуется цикл, который считывает строку от пользователя и удаляет из нее запрещенные символы с помощью функции wcspbrk
- Выводится на экран очищенная от запрещенных символов строка
- Цикл продолжается до тех пор, пока пользователь не введет пустую строку
- Программа завершается с возвратом 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д