输入一行字符,分别统计出其中英文字母,数字和其他字符的个数采用指针操作完成上述工作
时间: 2024-02-27 20:57:42 浏览: 38
num,c语言游泳源码,c语言程序
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
void count(string str, int* letter, int* digit, int* other) {
for (int i = 0; i < str.length(); i++) {
if (isalpha(str[i])) { // 判断是否为字母
(*letter)++;
}
else if (isdigit(str[i])) { // 判断是否为数字
(*digit)++;
}
else { // 其他字符
(*other)++;
}
}
}
int main() {
string str;
int letter = 0, digit = 0, other = 0;
cout << "请输入一行字符:" << endl;
getline(cin, str);
count(str, &letter, &digit, &other); // 传入指针
cout << "字母个数:" << letter << endl;
cout << "数字个数:" << digit << endl;
cout << "其他字符个数:" << other << endl;
return 0;
}
```
使用指针是为了在函数内部修改变量的值,这里我们使用了三个指针分别表示字母数、数字数和其他字符数,然后对输入的字符串进行遍历,判断每个字符的类型,最后通过指针返回结果。
阅读全文