输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数 c语言
时间: 2023-11-23 20:30:32 浏览: 72
#include <stdio.h>
int main()
{
char str[100];
int i, alphabets, digits, spaces, others;
alphabets = digits = spaces = others = 0;
printf("Enter a string: ");
gets(str);
for(i=0; str[i]!='\0'; i++)
{
if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z'))
alphabets++;
else if(str[i]>='0' && str[i]<='9')
digits++;
else if(str[i]==' ')
spaces++;
else
others++;
}
printf("\nAlphabets = %d\n", alphabets);
printf("Digits = %d\n", digits);
printf("Spaces = %d\n", spaces);
printf("Others = %d\n", others);
return 0;
}
相关问题
用C语言输入一行字符分别统计出其中英文字母空格数字和其他字符的个数
好的,这是一个经典的问题,以下是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, alphabets, digits, spaces, others;
alphabets = digits = spaces = others = 0;
printf("请输入一行字符:\n");
fgets(str, sizeof(str), stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
alphabets++;
} else if (isdigit(str[i])) {
digits++;
} else if (isspace(str[i])) {
spaces++;
} else {
others++;
}
}
printf("输入的字符串中包含:\n");
printf("%d 个字母\n", alphabets);
printf("%d 个数字\n", digits);
printf("%d 个空格\n", spaces);
printf("%d 个其他字符\n", others);
return 0;
}
```
希望这个回答能够帮到你!
用c语言的循环语句输入一行字符分别统计出其中英文字母空格数字和其他字符的个数
使用C语言的循环语句可以输入一行字符并统计其中英文字母、空格、数字和其他字符的个数。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
char c;
int ch, s, d, o;
ch = 0;
s = 0;
d = 0;
o = 0;
while ((c = getchar()) != '\n') {
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')
ch++;
else if (c == ' ')
s++;
else if (c >= '0' && c <= '9')
d++;
else
o++;
}
printf("char=%d space=%d digit=%d others=%d\n", ch, s, d, o);
return 0;
}
```
该代码使用了一个while循环来读取输入的字符,然后使用if语句来判断字符的类型并相应地增加计数器的值。最后,使用printf函数输出统计结果。
阅读全文