用C语言编写一个字符串,统计其中字母和数字字符个数并输出
时间: 2024-04-29 10:22:55 浏览: 15
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
int i, letters = 0, digits = 0;
printf("请输入字符串:");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++)
{
if (isalpha(str[i])) // 判断字符是否为字母
{
letters++;
}
else if (isdigit(str[i])) // 判断字符是否为数字
{
digits++;
}
}
printf("字母个数:%d\n", letters);
printf("数字个数:%d\n", digits);
return 0;
}
```
输入示例:
```
请输入字符串:Hello World! 123
```
输出示例:
```
字母个数:10
数字个数:3
```
相关问题
如何用C语言编写一个统计字符串中字母个数的程序
可以使用C语言中的字符数组和循环语句来实现统计字符串中字母个数的程序。具体实现方法如下:
```c
#include <stdio.h>
int main() {
char str[100];
int count = 0;
printf("请输入一个字符串:");
scanf("%s", str);
for (int i = 0; str[i] != '\0'; i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
count++;
}
}
printf("字符串中字母的个数为:%d\n", count);
return 0;
}
```
这个程序首先定义了一个字符数组 `str`,用于存储输入的字符串。然后使用 `scanf` 函数从标准输入中读取字符串,并使用循环语句遍历字符串中的每个字符。如果当前字符是字母,则将计数器 `count` 加一。最后输出计数器的值即可。
注意,这个程序假设输入的字符串中只包含字母和空格,如果输入了其它字符,程序可能会出现错误。如果需要更加健壮的实现,可以使用字符分类函数 `isalpha` 来判断字符是否是字母。
c语言编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数
可以使用C语言中的字符处理函数isalpha()和isdigit()来判断字符是字母还是数字。以下是一个示例函数:
```c
#include <stdio.h>
#include <ctype.h>
void count(char *str)
{
int letters = 0, digits = 0;
while (*str)
{
if (isalpha(*str))
letters++;
else if (isdigit(*str))
digits++;
str++;
}
printf("字母个数:%d\n数字个数:%d\n", letters, digits);
}
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
count(str);
return 0;
}
```
该函数首先声明了两个变量letters和digits分别用于记录字母和数字的个数,然后使用while循环遍历字符串中的每一个字符,使用isalpha()和isdigit()函数判断字符是否为字母或数字,如果是则对应计数变量加1。最后输出字母和数字的个数即可。