c语言输入一个字符串然后aks排序重复的删去
时间: 2024-10-05 14:04:52 浏览: 30
数学判断一个数是否为素数
在C语言中,你可以使用`fgets()`函数获取用户输入的字符串,然后利用字符数组遍历并删除重复的字符。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数用于统计并去除重复字符
void removeDuplicates(char str[], int len) {
for (int i = 0; i < len - 1; i++) {
if (str[i] == str[i + 1]) {
// 如果找到重复字符,跳过它
while (i < len && str[i] == str[i + 1]) {
i++;
}
} else {
// 否则将当前字符复制到新位置
str[i] = str[i + 1];
}
}
// 将最后一个非重复字符复制到结尾
str[len - 1] = '\0'; // 添加结束符
}
int main() {
char input[100]; // 存储用户输入的大致大小
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 避免读取换行符
// 删除末尾的换行符(如果有的话)
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
int len = strlen(input);
removeDuplicates(input, len);
printf("去除重复后的字符串: %s\n", input);
return 0;
}
```
在这个程序中,`removeDuplicates`函数通过比较相邻字符来删除重复,并更新字符串数组。注意,这种方法不会改变原顺序,只会移除重复字符。
阅读全文