c语言oj1065统计,东方博宜OJ
时间: 2023-07-27 12:13:52 浏览: 107
好的,这道题目是统计字符串中数字、字母和其他字符的个数,具体思路如下:
1. 定义三个变量用于统计数字、字母和其他字符的个数,初始值都为0;
2. 遍历字符串中的每个字符,判断其属于哪一类(数字、字母、其他字符),并将对应的计数器加1;
3. 最后输出三个计数器的值即可。
下面是一份参考代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含isdigit和isalpha函数
int main()
{
char str[100];
int num_cnt = 0, alpha_cnt = 0, other_cnt = 0;
gets(str); // 读入字符串
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) { // 判断是否为数字
num_cnt++;
} else if (isalpha(str[i])) { // 判断是否为字母
alpha_cnt++;
} else { // 其他字符
other_cnt++;
}
}
printf("num:%d\nalpha:%d\nother:%d", num_cnt, alpha_cnt, other_cnt); // 输出计数器的值
return 0;
}
```
注意:这里使用了`gets()`函数来读入字符串,但是`gets()`函数在输入过程中无法判断输入字符串的长度,可能会导致缓冲区溢出的问题,建议使用更安全的`fgets()`函数进行字符串的输入。
阅读全文