c语言 统计字符数字和空格的个数
时间: 2024-01-28 08:03:17 浏览: 78
可以通过以下 C 语言代码实现统计字符、数字和空格的个数:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, digits = 0, chars = 0, spaces = 0;
printf("请输入一行字符串:\n");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i]))
digits++;
else if (isalpha(str[i]))
chars++;
else if (isspace(str[i]))
spaces++;
}
printf("该字符串中有 %d 个数字,%d 个字母和 %d 个空格。\n", digits, chars, spaces);
return 0;
}
```
其中 `isdigit()` 函数用于判断一个字符是否为数字,`isalpha()` 函数用于判断一个字符是否为字母,`isspace()` 函数用于判断一个字符是否为空格。`fgets()` 函数用于从标准输入读取一行字符串。
相关问题
c语言 用函数统计字符数字和空格的个数
好的,我可以回答这个问题。统计字符、数字和空格的个数需要分别定义变量来保存它们的数量。然后通过遍历字符串的每一个字符,利用isdigit()函数判断是否为数字,利用isspace()函数判断是否为空格,最后根据结果更新各个变量的值即可。下面是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
void count(char *str, int *num_chars, int *num_digits, int *num_spaces) {
char *p = str;
while (*p) {
if (isdigit(*p))
(*num_digits)++;
else if (isspace(*p))
(*num_spaces)++;
else
(*num_chars)++;
p++;
}
}
int main() {
char str[] = "Hello, 123 world!";
int num_chars = 0, num_digits = 0, num_spaces = 0;
count(str, &num_chars, &num_digits, &num_spaces);
printf("Number of characters: %d\n", num_chars);
printf("Number of digits: %d\n", num_digits);
printf("Number of spaces: %d\n", num_spaces);
return 0;
}
```
执行以上代码的输出结果如下:
Number of characters: 13
Number of digits: 3
Number of spaces: 2
希望这能帮助您。
用C语言统计字符串中字母数字空格和其他字符的个数
可以使用C语言中的字符处理函数,如isdigit()、isalpha()、isspace()等来判断字符的类型,然后统计每种类型的字符出现的次数即可。具体实现如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, alpha_count = 0, digit_count = 0, space_count = 0, other_count = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
alpha_count++;
} else if (isdigit(str[i])) {
digit_count++;
} else if (isspace(str[i])) {
space_count++;
} else {
other_count++;
}
}
printf("字母个数:%d\n", alpha_count);
printf("数字个数:%d\n", digit_count);
printf("空格个数:%d\n", space_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
这里使用了fgets()函数来读取输入的字符串,因为gets()函数已经被淘汰了。
阅读全文