如何用c语言求出有多少个字母,数字和空格,例如下面图片一串有10个字母,5个数字,三个空格

可以使用循环遍历输入的字符串的每个字符,然后根据字符类别分别进行计数,循环结束再打印结果即可。
代码如下:
参考链接:
C 库函数 – gets() | 菜鸟教程
C 库函数 - gets() C 标准库 - <stdio.h> 描述 C 库函数 char *gets(char *str) 从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。 声明 下面是 gets() 函数的声明。 char *gets(char *str) 参数 str -- 这是指向一个字符数组的指针..
https://www.runoob.com/cprogramming/c-function-gets.html
#include <stdio.h>
int main(void){
int letters=0,nums=0,spaces=0,i=0;
char ch, str[100];
// https://www.runoob.com/cprogramming/c-function-gets.html
gets(str); // 从输入获取一行字符串,存储到字符数str中
while(str[i]!='\0'){ // 遍历字符串每个字符,直到字符串结尾的空字符'\0'结束循环
ch=str[i]; // 获取字符数组当前下标位置的字符
if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')){ // 如果是字母,则字母计数+1
letters++;
}else if(ch>='0'&&ch<='9'){ // 如果是数字,数字计数+1
nums++;
}else if(ch==' '){ // 如果是空格,空格计数+1
spaces++;
}
i++; // 指向字符数组下个下标位置
}
// 打印结果
printf("字母%d个,数字%d个,空格%d个。\n",letters,nums,spaces);
return 0;
}
