c实现算法确定一个字符串中所有字母不同
时间: 2024-05-13 07:20:11 浏览: 147
C语言字符串的判断
您好,这个问题可以回答。 以下是实现算法的示例代码:
```
#include <stdio.h>
#include <stdbool.h>
bool isUnique(char *str) {
int char_set[256] = {0}; // 假设字符集为 ASCII
int i;
for (i = 0; str[i] != '\0'; i++) {
int val = str[i];
if (char_set[val]) {
return false;
}
char_set[val] = 1;
}
return true;
}
int main() {
char str[100];
printf("请输入一个字符串: ");
scanf("%s", str);
if (isUnique(str)) {
printf("该字符串中所有字母都不同。\n");
} else {
printf("该字符串中存在重复字母。\n");
}
return 0;
}
```
该算法的基本思想是使用一个数组 char_set 来记录每个字符是否出现过,初始值都为0。遍历字符串中的每个字符时,将对应的字符所在的 char_set 数组位置设为1。如果下次遇到相同的字符时,该位置不为0,说明字符串中存在重复的字母。如果遍历完整个字符串后都没有发现重复字母,则说明该字符串中所有字母都不同。
阅读全文