要刪除字符串中的相同字符,可以使用兩層循環來遍歷字符串,并比較每個字符是否與后面的字符相同。如果相同,則將后面的字符刪除,直到字符串末尾。
以下是一個示例代碼:
#include <stdio.h>
#include <string.h>
void removeDuplicates(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
for (int j = i + 1; j < len; j++) {
if (str[i] == str[j]) {
// 將后面的字符往前移動一位
for (int k = j; k < len - 1; k++) {
str[k] = str[k+1];
}
len--; // 字符串長度減1
j--; // 繼續比較當前位置的字符
}
}
}
}
int main() {
char str[100];
printf("請輸入一個字符串:");
scanf("%s", str);
removeDuplicates(str);
printf("刪除相同字符后的字符串為:%s\n", str);
return 0;
}
這個示例代碼中的函數 removeDuplicates()
可以接受一個字符串參數,并通過兩層循環來刪除其中的相同字符。在主函數中,首先要求用戶輸入一個字符串,然后調用 removeDuplicates()
函數將相同字符刪除,并最終輸出結果。
請注意,這個示例代碼只能刪除連續相同的字符,對于非連續相同的字符無法刪除。如果需要刪除非連續相同的字符,可以使用其他算法或數據結構來解決。