C语言编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数。函数原型为:void fun(const char *str, int* char_N, int* letter_N);
时间: 2023-12-28 20:06:22 浏览: 78
好的,以下是您需要的函数实现:
```c
void fun(const char *str, int* char_N, int* letter_N) {
int i = 0;
*char_N = 0;
*letter_N = 0;
while (str[i] != '\0') {
if (isdigit(str[i])) {
(*char_N)++;
} else if (isalpha(str[i])) {
(*letter_N)++;
}
i++;
}
}
```
这个函数接收一个字符串 `str`,以及两个指针 `char_N` 和 `letter_N`,分别用于存储数字字符个数和字母字符个数。
在函数内部,我们使用一个 while 循环遍历字符串中的每个字符,如果是数字字符,就将 `char_N` 指向的值加一;如果是字母字符,就将 `letter_N` 指向的值加一。
最终,`char_N` 和 `letter_N` 中存储的就是字符串中数字字符和字母字符的个数了。
相关问题
c语言编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数。函数原型为:void fun(const char *str, int* char_N, int* letter_N);
函数原型为 `void fun(const char *str, int* char_N, int* letter_N)`,其中参数 `str` 是输入的字符串,`char_N` 和 `letter_N` 是指向整型变量的指针,分别用于返回统计结果。
以下是一个实现示例:
```c
#include <stdio.h>
#include <ctype.h>
void fun(const char *str, int* char_N, int* letter_N)
{
*char_N = 0;
*letter_N = 0;
while (*str) {
if (isdigit(*str)) {
(*char_N)++;
} else if (isalpha(*str)) {
(*letter_N)++;
}
str++;
}
}
int main()
{
int char_N, letter_N;
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
fun(str, &char_N, &letter_N);
printf("数字字符个数:%d\n", char_N);
printf("字母字符个数:%d\n", letter_N);
return 0;
}
```
该函数首先将 `char_N` 和 `letter_N` 初始化为 0,然后使用 while 循环遍历字符串中的每个字符,使用 `isdigit()` 和 `isalpha()` 判断字符是否为数字或字母,如果是则对应计数器加 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 = 0;
*char_N = 0;
*letter_N = 0;
while(str[i] != '\0') { // 逐个扫描字符串中的字符
if (isdigit(str[i])) { // 判断是否为数字字符
(*char_N)++;
} else if (isalpha(str[i])) { // 判断是否为字母字符
(*letter_N)++;
}
i++;
}
}
```
函数使用了指针作为参数,可以通过指针修改函数外部变量的值。当函数被调用时,它会遍历输入的字符串中的每个字符,判断每个字符是否是数字字符或字母字符,并分别累加它们的个数。
调用该函数的方式如下:
```c
int main() {
char str[] = "Hello, 123!";
int char_N, letter_N;
fun(str, &char_N, &letter_N);
printf("The number of digits is %d\n", char_N);
printf("The number of letters is %d\n", letter_N);
return 0;
}
```
在这个示例中,我们将一个字符串传递给函数 `fun`,同时使用指向 `char_N` 和 `letter_N` 变量的指针作为参数,以记录数字字符和字母字符的数量。最后,在 `main` 函数中,我们打印输出了它们的数量。
阅读全文
相关推荐
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![none](https://img-home.csdnimg.cn/images/20210720083646.png)