输入一行字符,以连续的二个“#”表示输入结束。统计这行字符中数字字符的个数。 C语言打代码
时间: 2024-12-11 09:23:01 浏览: 8
在C语言中,你可以通过遍历输入的字符串并逐个检查字符是否为数字来实现这个功能。下面是一个简单的示例函数:
```c
#include <stdio.h>
#include <ctype.h>
int count_digits(char input[]) {
int count = 0;
while (input != '\0') { // 遍历直到遇到字符串结束符'\0'
if (isdigit(input)) { // 判断字符是否为数字
count++;
}
input++; // 移动到下一个字符
}
return count; // 返回计数结果
}
int main() {
char line[100];
fgets(line, sizeof(line), stdin); // 从标准输入读取一行字符
// 检查是否连续有两个'#'作为结束
size_t len = strlen(line);
if (len > 1 && line[len - 2] == '#' && line[len - 1] == '#') {
line[len - 2] = '\0'; // 如果存在,去掉最后一个#
}
int digit_count = count_digits(line);
printf("Number of digits: %d\n", digit_count);
return 0;
}
```
在这个程序中,`count_digits`函数会计算给定字符串中的数字字符数。`main`函数中,我们首先使用`fgets`读取用户输入,然后检查最后两个字符是否是"#",如果是就将它们替换掉,因为实际的输入不需要这两个终止符。然后调用`count_digits`函数并打印结果。
阅读全文