用C语言编写相邻字符判断
时间: 2024-10-25 17:05:51 浏览: 26
在C语言中,如果你想判断两个相邻的字符是否相同,你可以创建一个函数,接受两个字符作为输入,然后比较它们。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义一个函数,检查两个字符是否相等
int are_adjacent_chars(char c1, char c2) {
if (c1 == c2) {
return 1; // 如果相等则返回1,表示是相邻且相同的字符
} else {
return 0; // 否则返回0,表示不相同或不是相邻字符
}
}
int main() {
char ch1;
char ch2;
printf("请输入第一个字符: ");
scanf("%c", &ch1);
printf("请输入第二个字符: ");
scanf("%c", &ch2);
if (are_adjacent_chars(ch1, ch2)) {
printf("这两个字符是相邻且相同的。\n");
} else {
printf("这两个字符不是相邻或不相同。\n");
}
return 0;
}
```
在这个例子中,用户会被提示输入两个字符,然后`are_adjacent_chars`函数会检查并打印出结果。
相关问题
用c语言编写一个函数,接收一个字符串,统计其中任意两个及两个以上相邻字符相同的子串的个数。
好的,下面是 C 语言的实现:
```c
#include <stdio.h>
#include <string.h>
int count_adjacent_chars(char *s) {
int count = 0, i, j;
int len = strlen(s);
for (i = 0; i < len - 1; i++) {
if (s[i] == s[i + 1]) {
j = i + 2;
while (j < len && s[j] == s[i]) {
j++;
}
count += (j - i) * (j - i - 1) / 2;
}
}
return count;
}
int main() {
char s[100];
printf("请输入字符串:");
scanf("%s", s);
printf("相邻字符相同的子串个数为:%d\n", count_adjacent_chars(s));
return 0;
}
```
这个函数和 Python 版本的思路是一样的。不同的是,C 语言中没有字符串类型,需要使用字符数组来表示。同时,C 语言中的整数除法运算 `/` 得到的结果是向下取整的,因此需要使用整数除法运算 `//` 来得到组合数的值。
用c语言编写检查输入的一行字中有无相邻的两字符相同
在C语言中,你可以通过遍历字符串并比较当前字符和下一个字符来检查一行字(字符串)中是否有相邻的两个相同的字符。以下是一个简单的函数示例:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool checkAdjacentDuplicates(char str[]) {
int len = strlen(str);
for (int i = 0; i < len - 1; i++) { // 遍历字符串,跳过最后一个字符,因为没法跟下一个比
if (str[i] == str[i + 1]) { // 如果找到相邻的字符相等
return true; // 返回true,表示存在相邻的重复字符
}
}
return false; // 没有发现重复,返回false
}
int main() {
char input[100];
printf("Enter a line of characters: ");
fgets(input, sizeof(input), stdin); // 从用户输入读取一行字符
input[strcspn(input, "\n")] = '\0'; // 去除换行符
if (checkAdjacentDuplicates(input)) {
printf("There are adjacent duplicate characters.\n");
} else {
printf("No adjacent duplicate characters found.\n");
}
return 0;
}
```
在这个程序中,`checkAdjacentDuplicates` 函数接收一个字符串作为输入,并通过比较每个字符与其后的字符来判断是否存在相邻重复。如果发现,则返回 `true`;如果没有则返回 `false`。
阅读全文