用c语言编写程序从键盘输入一个字符串,将字符串中重复的字符去除。如字符串 a =”abcadebfc”,去重后的字符串a =”abcdef”,输出去重后的结果。
时间: 2024-12-19 16:15:52 浏览: 5
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
在C语言中,我们可以使用数组和循环结构来实现这个功能。下面是一个简单的示例程序,它会从用户那里获取输入字符串,然后创建一个新的字符串,只包含原始字符串中不重复的字符:
```c
#include <stdio.h>
#include <string.h>
// 函数声明用于处理字符去重
void removeDuplicates(char* str);
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入并包括换行符
input[strcspn(input, "\n")] = '\0'; // 去除fgets添加的换行符
removeDuplicates(input);
printf("去重后的字符串: %s\n", input); // 输出结果
return 0;
}
// 函数实现:去重字符
void removeDuplicates(char* str) {
int len = strlen(str);
for (int i = 0; i < len; ++i) {
if (str[i] != '\0') { // 避免检查结束标志'\0'
for (int j = i + 1; j < len; ++j) {
if (str[j] == str[i]) {
str[j] = '\0'; // 将重复的字符设为结束标志
}
}
}
}
}
```
当你运行这个程序,输入字符串 "abcadebfc" 后,它会输出 "abcdef"。
阅读全文