用c语言编写一个程序实现:输入一个以回车结束的字符串(少于80个字符),统计字母a的个数。
时间: 2024-03-01 17:53:16 浏览: 113
好的,以下是用 C 语言编写的程序,可以实现输入一个以回车结束的字符串,统计其中字母 a 的个数:
```c
#include <stdio.h>
int main() {
char str[80]; // 存储输入的字符串
int count = 0; // 统计字母 a 的个数
printf("请输入一个字符串(少于80个字符):\n");
fgets(str, 80, stdin); // 从标准输入读入字符串
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == 'a' || str[i] == 'A') {
count++;
}
}
printf("字母 a 的个数为:%d\n", count);
return 0;
}
```
程序的执行流程如下:
1. 定义一个 char 类型的数组 `str`,用于存储输入的字符串。
2. 定义一个 int 类型的变量 `count`,用于统计字母 a 的个数,初始化为 0。
3. 使用 `fgets` 函数从标准输入读入字符串,最大读入 80 个字符。
4. 使用 for 循环遍历字符串,如果当前字符为字母 a 或 A,则将 `count` 加 1。
5. 输出统计结果。
注意:本程序未做输入格式检查,如果输入的字符串超过 80 个字符,可能会导致程序出错。
相关问题
用c语言写一个程序:输入一个以回车符结束的字符串,少于80个字符,再输入一个字符,统计字符串中与该字符相同的字符个数
以下是用 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语言编写程序,输入一个以回车符结束的字符串(少于 80 个字符),分别统计其中英文字母,数字、其他字符的个数
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
char str[80]; // 定义一个长度为80的字符数组
int i, alpha = 0, digit = 0, other = 0; // 初始化三个计数器
printf("请输入一串字符(少于80个字符):\n");
fgets(str, 80, stdin); // 从标准输入读入字符串
for (i = 0; str[i] != '\0' && str[i] != '\n'; i++) { // 遍历整个字符串
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
alpha++; // 如果是字母,计数器加1
} else if (str[i] >= '0' && str[i] <= '9') {
digit++; // 如果是数字,计数器加1
} else {
other++; // 如果是其他字符,计数器加1
}
}
printf("字母个数:%d\n", alpha);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
代码解释:
1. 定义了一个长度为80的字符数组 `str`,用于存储输入的字符串;
2. 初始化三个计数器 `alpha`、`digit`、`other` 分别代表字母个数、数字个数、其他字符个数;
3. 使用 `fgets()` 函数从标准输入中读入字符串,注意 `fgets()` 函数会自动在字符串末尾添加一个换行符 `'\n'` 或者字符串结束符 `'\0'`,因此需要在遍历字符串时加上 `str[i] != '\n'` 的判断;
4. 使用 `for` 循环遍历整个字符串,如果字符在字母范围内则将字母计数器加1,如果字符在数字范围内则将数字计数器加1,否则将其他字符计数器加1;
5. 最后输出三个计数器的值。
希望能帮到你!
阅读全文