给你一个仅包含小写英文字母的字符串,请你编程判断这个字符串所有字符是否全都不同。 c语言
时间: 2024-12-08 15:23:58 浏览: 18
在C语言中,你可以使用哈希表(如`#define SIZE 26`,假设我们只有26个小写字母)或布尔数组来检查字符串的所有字符是否都不同。这里是一个简单的示例:
```c
#include <stdbool.h>
#include <stdio.h>
bool areAllCharsUnique(char* str) {
bool charSet[SIZE] = {false}; // 初始化一个布尔数组
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (!charSet[str[i] - 'a']) { // 如果该字母尚未出现过
charSet[str[i] - 'a'] = true; // 标记为已出现
} else {
return false; // 如果遇到重复字符,立即返回false
}
}
return true; // 遍历完无重复,说明都是唯一的
}
int main() {
char str[] = "abcdefg";
if (areAllCharsUnique(str)) {
printf("字符串中的所有字符都是独一无二的。\n");
} else {
printf("字符串中有重复的字符。\n");
}
return 0;
}
```
在这个程序中,我们遍历字符串,如果某个字符不在`charSet`中,我们就把它设置为`true`;如果有重复,函数会立刻返回`false`。如果能完整遍历而未发现重复,最后返回`true`。
阅读全文