c语言编写:输入一个长度小于80的字符串,统计其中字母的个数
时间: 2024-02-16 10:04:18 浏览: 32
好的,以下是使用C语言编写的程序,实现统计输入字符串中字母的个数:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[80];
int i, count = 0;
printf("请输入一个字符串(长度小于80):");
fgets(str, 80, stdin);
for (i = 0; i < strlen(str); i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
count++;
}
}
printf("该字符串中字母的个数为:%d\n", count);
return 0;
}
```
程序首先使用`fgets()`函数从标准输入中读取一个字符串,存储在字符数组`str`中。接着,使用一个循环遍历字符串中的每一个字符,如果该字符是字母(即ASCII码在65~90或97~122之间),就将计数器加1。最后输出字母的个数。
需要注意的是,使用`fgets()`函数可以避免输入字符串长度超过80个字符的问题,而使用`gets()`函数可能会导致缓冲区溢出。此外,为了判断一个字符是否是字母,程序使用了ASCII码值的比较。
相关问题
c语言编写程序输入一个字符串,统计字符串中字符的个数
可以使用C语言的字符串库函数`strlen()`来统计字符串中字符的个数。以下是一个示例程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
printf("该字符串中字符的个数为:%d\n", len);
return 0;
}
```
在程序中,先定义一个字符数组`str`,用于存储输入的字符串。然后使用`scanf()`函数获取用户输入的字符串。接着调用`strlen()`函数获取字符串中字符的个数,并将结果赋给变量`len`。最后,使用`printf()`函数输出结果。
用c语言编写程序:输入一段字符,统计其中各个大写字母出现的个数
以下是一个简单的C语言程序,可以实现输入一段字符,统计其中各个大写字母出现的个数:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
int count[26] = {0};
int i, len;
printf("请输入一段字符:");
fgets(str, sizeof(str), stdin);
len = strlen(str);
for (i = 0; i < len; i++) {
if (isupper(str[i])) {
count[str[i] - 'A']++;
}
}
printf("大写字母出现的个数为:\n");
for (i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c: %d\n", 'A' + i, count[i]);
}
}
return 0;
}
```
程序中首先定义了一个字符数组`str`和一个整型数组`count[26]`,用于存储各个大写字母出现的次数。然后使用`fgets`函数接收用户输入的一段字符,并使用`strlen`函数获取输入字符的长度。
接下来使用`for`循环遍历输入字符数组`str`,对于每个字符,如果是大写字母(使用`isupper`函数判断),就将对应的`count`数组元素加1。
最后再使用`for`循环遍历`count`数组,输出大写字母出现的次数。