C语言,找出字符串中第一个只出现一次的字符,输出第一个只出现一次的字符,如果不存在输出为-1
时间: 2023-08-24 07:32:20 浏览: 66
好的,这是一个字符串处理的问题,需要使用C语言中的字符数组和循环语句来实现。以下是一个简单的实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100 // 定义字符串最大长度
int main() {
char str[MAX_SIZE]; // 定义字符串
int i, j;
int len;
int flag;
// 输入字符串
printf("请输入一个字符串:\n");
scanf("%s", str);
len = strlen(str);
// 遍历字符串,找出第一个只出现一次的字符
flag = 0;
for (i = 0; i < len; i++) {
flag = 1;
for (j = 0; j < len; j++) {
if (i != j && str[i] == str[j]) {
flag = 0;
break;
}
}
if (flag) {
printf("第一个只出现一次的字符为:%c\n", str[i]);
return 0;
}
}
// 如果不存在只出现一次的字符,输出-1
printf("-1\n");
return 0;
}
```
以上代码中,我们使用一个字符数组来存储输入的字符串。接着,我们使用两个嵌套的for循环来遍历字符串,找出第一个只出现一次的字符,如果找到了,就输出该字符并结束程序;如果遍历完整个字符串都没有找到只出现一次的字符,就输出-1。