C语言输入一行字符,分别统计其中英文字符、空格、数字和其他字符的个数
时间: 2023-05-29 12:07:15 浏览: 99
```
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
int i, English = 0, space = 0, digit = 0, other = 0;
printf("请输入一行字符:\n");
fgets(str, sizeof(str), stdin);
for(i = 0; str[i] != '\0'; i++)
{
if(isalpha(str[i])) // 判断是否为英文字母
English++;
else if(isspace(str[i])) // 判断是否为空格
space++;
else if(isdigit(str[i])) // 判断是否为数字
digit++;
else
other++; // 其他字符
}
printf("英文字符个数:%d\n", English);
printf("空格个数:%d\n", space);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
相关问题
c语言输入一行字符分别统计出其中英文字母,字符,空格,数字和其它字符的个数
这是三种不同的C语言程序,用于输入一行字符并统计其中英文字母、字符、空格、数字和其他字符的个数。这三种方法分别是常规计算、普通函数调用和指针函数调用。
常规计算方法使用while循环逐个读取输入的字符,并使用if语句判断字符的类型,最后输出各种字符的个数。
普通函数调用方法定义了一个count函数,该函数接受一个字符数组作为参数,并使用for循环逐个读取数组中的字符,然后使用if语句判断字符的类型,最后输出各种字符的个数。在主函数中,使用gets函数读取输入的字符,并将其作为参数传递给count函数。
指针函数调用方法与普通函数调用方法类似,但使用指针来遍历字符数组。在主函数中,使用while循环逐个读取输入的字符,并将其存储在字符数组中,然后将该数组作为参数传递给count函数。
用c语言输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数
以下是两种用C语言输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数的方法:
方法一:常规计算
```c
#include <stdio.h>
int main(){
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:\n");
while((c=getchar())!='\n'){
if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++;
else if(c==' ') space++;
else if(c>='0'&&c<='9') digit++;
else other++;
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d",letters,space,digit,other);
return 0;
}
```
方法二:普通函数调用
```c
#include <stdio.h>
#include <string.h>
void count(char c[]){
int letters=0,space=0,digit=0,other=0;
int i;
for (i = 0; c[i]; i++) {
if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z') letters++;
else if(c[i]==' ') space++;
else if(c[i]>='0'&&c[i]<='9') digit++;
else other++;
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d",letters,space,digit,other);
}
int main(){
char c[32];
printf("请输入一行字符:\n");
gets(c);
count(c);
return 0;
}
```
阅读全文