Вывод разных символов строки - C (СИ)
Формулировка задачи:
Помогите пожалуйсто с задачко! Задание: пользователь вводит строку и программа выдает ему только различные символы строки. Я пробую сделать но получается что-то не то. На форуме есть похожее, но используя буффер, а мне надо решение без него(
Вот код программы:
Заранее спасибо! Надеюсь кто-нибудь поможет((
# include <stdio.h> # include <string.h> #define Size 200 int main() { char input_string[Size], output_string[Size]; int string_length, i,j,k, count=0; system("cls"); puts("Ievadiet virkni, kuru velaties apstradat: "); gets(input_string); string_length=strlen(input_string); for(i=0;i<string_length-1;i++) { for(j=i+1;j<string_length;j++) { if(input_string[i]!=input_string[j]) { output_string[count]=input_string[i]; count++; } } } printf("%s",output_string); return(0); }
Решение задачи: «Вывод разных символов строки»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main(void){ char buf[BUFSIZ], *p; while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){ printf("Singles: "); for ( p = buf; *p; ++p ) if ( strchr(buf, *p) == p ) printf("%c", *p); printf("\n"); } return 0; }
Объяснение кода листинга программы
В этом коде происходит следующее:
- Объявляются две переменные:
buf
типаchar
иp
типаchar*
(указатель наchar
). - В цикле
while
происходит следующее:- Выводится приглашение для ввода строки
String:
. - Пользователь вводит строку в буфер
buf
. - Буфер
buf
очищается.
- Выводится приглашение для ввода строки
- В цикле
for
происходит следующее:- Переменная
p
инициализируется значениемbuf
. - Для каждого символа в
buf
выполняется проверка: если символ является уникальным (то есть, не повторяется вbuf
), то он выводится на экран.
- Переменная
- Код повторяется до тех пор, пока пользователь не введет пустую строку.
- В конце программы возвращается 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д