C++题目54:统计一个字符串 编写程序用于统计一个字符串中字母、数字、空格以及其它字符的个数。在主函数中输入字符串后,调用函数:void fun(char *p, int n),并输出统计结果。要求用指针实现。 【输入形式】 一个字符串(回车结束); 【输出形式】 字符串中字母、数字、空格以及其它字符的个数统计结果(输出数据之间用逗号分隔);
时间: 2024-02-29 12:57:24 浏览: 118
好的,这道题目可以使用指针来实现字符串的遍历,然后统计各个字符的个数。以下是代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void fun(char *p, int n)
{
int letter = 0, digit = 0, space = 0, other = 0;
for(int i=0; i<n; i++)
{
if(*(p+i)>='a' && *(p+i)<='z' || *(p+i)>='A' && *(p+i)<='Z')
{
letter++;
}
else if(*(p+i)>='0' && *(p+i)<='9')
{
digit++;
}
else if(*(p+i)==' ')
{
space++;
}
else
{
other++;
}
}
cout << "字母个数:" << letter << ", 数字个数:" << digit
<< ", 空格个数:" << space << ", 其他字符个数:" << other << endl;
}
int main()
{
char str[100];
cout << "请输入一个字符串:" << endl;
cin.getline(str, 100);
int n = strlen(str);
fun(str, n);
return 0;
}
```
运行结果:
```
请输入一个字符串:
Hello World! 123
字母个数:10, 数字个数:3, 空格个数:2, 其他字符个数:1
```
阅读全文