用c语言编写一个程序 要求:给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
时间: 2023-10-30 21:06:24 浏览: 106
以下是用C语言编写的程序,可以实现给定一个只包含小写字母的字符串,找到第一个仅出现一次的字符的功能。如果没有,输出"no"。
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int i, j, len, count;
int flag[MAX_LEN] = {0};
printf("请输入一个只包含小写字母的字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
count = 1;
if (flag[i] == 1) {
continue;
}
for (j = i + 1; j < len; j++) {
if (str[i] == str[j]) {
count++;
flag[j] = 1;
}
}
if (count == 1) {
printf("第一个仅出现一次的字符是:%c\n", str[i]);
return 0;
}
}
printf("no\n");
return 0;
}
```
程序的具体实现思路如下:
1. 定义一个字符数组,用于存储输入的字符串。
2. 定义变量 i、j 和 len,其中 i 和 j 分别用于循环遍历字符串,len 用于记录字符串的长度。
3. 定义一个整型数组 flag,用于标记字符串中已经处理过的字符。
4. 通过 scanf 函数获取输入的字符串。
5. 循环遍历字符串,对于每个字符,都从它后面的字符开始往后查找,计算出现次数。如果出现次数为 1,即为第一个仅出现一次的字符,输出并结束程序。
6. 如果没有找到仅出现一次的字符,输出"no"。
需要注意的是,这个程序假设输入的字符串长度不超过 100 个字符。如果需要处理更长的字符串,可以根据实际情况修改 MAX_LEN 的值。