用c语言写一个程序:输入一个以回车符结束的字符串,少于80个字符,再输入一个字符,统计字符串中与该字符相同的字符个数
时间: 2024-05-11 08:19:24 浏览: 9
以下是用 C 语言编写的程序,可以实现您的需求:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[81], ch;
int count = 0;
printf("请输入一个字符串,以回车结束(不超过80个字符):\n");
fgets(str, 81, stdin); // 读入字符串
str[strlen(str) - 1] = '\0'; // 去除回车符
printf("请输入一个字符:\n");
scanf("%c", &ch); // 读入一个字符
for (int i = 0; i < strlen(str); i++) { // 遍历字符串
if (str[i] == ch) {
count++; // 统计相同字符个数
}
}
printf("字符串中与该字符相同的字符个数为 %d\n", count);
return 0;
}
```
程序的逻辑比较简单,首先读入一个字符串,然后读入一个字符,最后遍历字符串统计相同字符的个数。需要注意的是,在读入字符串时使用了 `fgets` 函数,可以防止输入的字符串长度超过数组的范围,从而避免了越界访问的问题。另外,由于 `fgets` 函数会读入回车符,因此需要手动将其替换为字符串结束符 `\0`。
相关问题
编写C语言程序,输入一个以回车符结束的字符串,将该字符串按逆序输出
下面是一个简单的实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100]; // 假设输入的字符串不超过 100 个字符
int len, i;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 从标准输入读入字符串
len = strlen(str);
printf("逆序输出:");
for (i = len - 1; i >= 0; i--) {
putchar(str[i]); // 逆序输出每个字符
}
printf("\n");
return 0;
}
```
该程序使用了 `fgets` 函数从标准输入读入字符串,然后使用 `strlen` 函数求出字符串的长度,最后使用一个循环逆序输出每个字符。
用c语言写输入一个字符串以回车结束,对该字符串进行逆序,并输出逆序字符串
以下是用C语言实现输入一个字符串以回车结束,对该字符串进行逆序,并输出逆序字符串的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[81];
int len, i;
fgets(str, 81, stdin); // 读入字符串
len = strlen(str);
for (i = len - 2; i >= 0; i--) { // 注意要减去回车符的长度
printf("%c", str[i]);
}
return 0;
}
```
输入一个字符串,然后将其逆序输出,可以使用fgets()函数读入字符串,再使用strlen()函数获取字符串长度,最后使用for循环逆序输出字符串即可。