c语言编写:输入一个长度小于80的字符串,统计其中字母的个数
时间: 2024-02-16 12:04:18 浏览: 146
好的,以下是使用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语言程序:从键盘输入一行字符串(字符串长度小于等于1000),统计出其中的英文字母、空格、数字和其它字符的个数。输入以换行符结束。
#include <stdio.h>
int main()
{
char str[1000];
int letters = 0, spaces = 0, digits = 0, others = 0;
printf("请输入一行字符串:\n");
fgets(str, 1000, stdin); // 从键盘输入一行字符串
for (int i = 0; str[i] != '\0'; i++)
{
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
{
letters++; // 统计英文字母个数
}
else if (str[i] == ' ')
{
spaces++; // 统计空格个数
}
else if (str[i] >= '0' && str[i] <= '9')
{
digits++; // 统计数字个数
}
else
{
others++; // 统计其它字符个数
}
}
printf("英文字母个数:%d\n", letters);
printf("空格个数:%d\n", spaces);
printf("数字个数:%d\n", digits);
printf("其它字符个数:%d\n", others);
return 0;
}
用C语言编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串并在主函数中输出统计结果。 输入 任意一个字符串(长度小于80)。 输出 统计其中的英文字母、数字、空格以及其他字符的个数。
以下是C语言代码实现:
```c
#include <stdio.h>
#include <ctype.h>
void countChars(const char *str, int *letters, int *digits, int *spaces, int *others) {
while (*str) {
if (isalpha(*str)) {
(*letters)++;
} else if (isdigit(*str)) {
(*digits)++;
} else if (isspace(*str)) {
(*spaces)++;
} else {
(*others)++;
}
str++;
}
}
int main() {
char str[80];
int letters = 0, digits = 0, spaces = 0, others = 0;
printf("请输入一个字符串:");
gets(str); // 读取输入字符串
countChars(str, &letters, &digits, &spaces, &others);
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
return 0;
}
```
在该程序中,`countChars`函数接收一个指向字符串的指针和四个整型指针,分别用于记录字母、数字、空格和其他字符的个数。在函数中,使用`isalpha`、`isdigit`和`isspace`等标准库函数判断字符属于哪一类,然后逐个统计各类字符的个数。
在`main`函数中,先读取用户输入的字符串,然后调用`countChars`函数统计各类字符的个数,最后输出统计结果。
需要注意的是,该程序中使用了`gets`函数读取输入字符串,但是该函数存在安全漏洞,不建议在实际生产代码中使用。建议使用更加安全的`fgets`函数代替。
阅读全文