输入一行字符(长度小于等于1000) 输出: 若有相邻字符相等则输出该相同的字符,否则输出No。(只需要输出第一种相同的情况即可)C语言
时间: 2024-11-05 15:29:06 浏览: 20
第5讲 指针高级之指针数组-将若干字符串按字母顺序(由小到大)输出
在 C 语言中,你可以通过遍历输入字符串并比较相邻字符的方式来解决这个问题。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
char find_and_output_first_duplicate(const char *str) {
int len = strlen(str);
if (len <= 1) {
return 'N'; // 如果字符串长度小于等于1,直接返回"No"
}
for (int i = 1; i < len; ++i) {
if (str[i] == str[i - 1]) {
return str[i]; // 找到第一个重复的字符就返回它
}
}
return 'N'; // 没有找到重复字符,返回"No"
}
int main() {
char input[1001];
printf("请输入一串字符(长度不超过1000): ");
fgets(input, sizeof(input), stdin);
// 移除换行符
input[strcspn(input, "\n")] = '\0';
char result = find_and_output_first_duplicate(input);
if (result != 'N') {
printf("%c\n", result);
} else {
printf("No\n");
}
return 0;
}
```
这个程序首先检查输入字符串的长度,如果长度不大于1,则直接输出"No"。然后遍历字符串,一旦发现相邻字符相同,就立即返回该字符。如果没有找到重复,最后也返回"No"。
阅读全文