用c语言编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数。函数原型为:void fun(const char *str, int* char_N, int* letter_N);
时间: 2023-12-29 20:01:57 浏览: 73
好的,下面是函数的实现代码:
```
void fun(const char* str, int* char_N, int* letter_N) {
*char_N = 0;
*letter_N = 0;
while (*str != '\0') {
if (*str >= '0' && *str <= '9') {
(*char_N)++;
}
else if ((*str >= 'a' && *str <= 'z') || (*str >= 'A' && *str <= 'Z')) {
(*letter_N)++;
}
str++;
}
}
```
函数中,我们首先将字符和字母计数器初始化为0,然后遍历字符串中的每个字符,对于数字字符,我们将计数器加1;对于字母字符,我们同样将计数器加1。最后,我们使用指针将计数器的值传递回去。
相关问题
用C语言编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数。函数原型为:void fun(const char *str, int* char_N, int* letter_N);
好的,根据您的要求,我已经为您编写了一个函数,如下所示:
```c
void fun(const char *str, int* char_N, int* letter_N) {
int i;
*char_N = 0;
*letter_N = 0;
for (i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
(*char_N)++;
} else if (isalpha(str[i])) {
(*letter_N)++;
}
}
}
```
这个函数接收一个字符串 `str`,并统计其中数字字符个数和字母字符个数,将结果分别存储在指针 `char_N` 和 `letter_N` 指向的变量中。在函数内部,我们使用了一个循环遍历字符串中的每一个字符,如果该字符是数字字符,则将 `char_N` 的值加 1,如果该字符是字母字符,则将 `letter_N` 的值加 1。最后,函数返回时,`char_N` 和 `letter_N` 分别存储了数字字符个数和字母字符个数。
注意,在函数中,我们使用了 `isdigit()` 和 `isalpha()` 函数来判断一个字符是否为数字字符或字母字符。这两个函数都是 C 标准库中的函数,需要包含头文件 `<ctype.h>` 才能使用。
c语言编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数。函数原型为:void fun(const char *str, int* char_N, int* letter_N);
好的,下面是代码:
```c
void fun(const char *str, int* char_N, int* letter_N) {
int num_count = 0;
int letter_count = 0;
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) {
num_count++;
} else if (isalpha(str[i])) {
letter_count++;
}
}
*char_N = num_count;
*letter_N = letter_count;
}
```
这个函数使用了循环遍历字符串中的每个字符,通过isdigit和isalpha函数来判断字符是数字还是字母。最后将数字字符个数和字母字符个数分别赋值给char_N和letter_N指针所指向的变量。
阅读全文