请用C语言编写如下程序:设计一个子函数,统计任意一串字符中数字字符的个数,并在主函数中调用此函数。
时间: 2023-09-26 11:06:43 浏览: 125
### 回答1:
以下是用C语言编写的程序来统计任意一串字符中数字字符的个数:
```c
#include <stdio.h>
int countDigits(char str[]) {
int count = 0;
for(int i=0; str[i]!='\0'; i++) {
if(str[i]>='0' && str[i]<='9') {
count++;
}
}
return count;
}
int main() {
char str[100];
printf("请输入一串字符: ");
gets(str);
int digits = countDigits(str);
printf("数字字符的个数为: %d\n", digits);
return 0;
}
```
程序中,我们使用了 `countDigits` 函数来统计任意一串字符中数字字符的个数。该函数接收一个字符数组 `str` 作为参数,使用一个变量 `count` 来记录数字字符的个数。在循环中,我们检查字符数组中每个字符是否是数字字符,如果是则将 `count` 加 1。最后,函数返回 `count` 的值。
在主函数中,我们使用 `gets` 函数来读取用户输入的一串字符,然后调用 `countDigits` 函数来统计其中数字字符的个数,并将结果输出到屏幕上。
### 回答2:
题目要求编写一个程序,其中包括一个子函数,用于统计任意字符串中数字字符的个数,并在主函数中调用此子函数。
以下是用C语言编写的程序:
```c
#include <stdio.h>
int countDigits(char *str) {
int count = 0;
while(*str != '\0') {
if (*str >= '0' && *str <= '9') {
count++;
}
str++;
}
return count;
}
int main() {
char str[100];
printf("请输入一串字符:");
fgets(str, sizeof(str), stdin);
int digitCount = countDigits(str);
printf("数字字符的个数为:%d\n", digitCount);
return 0;
}
```
程序中的 `countDigits` 函数用于统计字符串中的数字字符个数。该函数的实现原理是遍历字符串中的每个字符,若字符的ASCII码在 `'0'` 到 `'9'` 之间,则计数器 `count` 加一。
主函数中首先定义了一个字符数组 `str`,用于存储用户输入的字符串。然后使用 `fgets` 函数从标准输入读取字符串并存储到 `str` 数组中。
接下来,调用 `countDigits` 函数,将字符串传递给该函数进行统计,并将返回的结果存储在 `digitCount` 变量中。
最后,通过 `printf` 函数输出数字字符的个数。
请注意,此程序只能统计ASCII值在 `'0'` 到 `'9'` 之间的字符,其他字符将被忽略。如果需要统计Unicode中的数字字符,可以使用相应的函数库或修改代码实现。
### 回答3:
#include <stdio.h>
// 统计数字字符的个数
int countDigit(char *str) {
int count = 0;
while (*str != '\0') {
if (*str >= '0' && *str <= '9') {
count++;
}
str++;
}
return count;
}
int main() {
char str[100];
printf("请输入一串字符:");
scanf("%s", str);
int digitCount = countDigit(str);
printf("数字字符的个数:%d\n", digitCount);
return 0;
}
阅读全文