c++1.编写一个程序,键盘任意输入一行不含空格的字符(字符数小于30),输出该字符串的长度,并统计其中大写字母、小写字母和数字的个数。 要求:将求字符串长度的过程单独写成一个函数。
时间: 2024-03-07 20:48:51 浏览: 130
好的,以下是实现该程序的 C++ 代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int getLength(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
char str[30];
cout << "请输入不含空格的字符串:";
cin >> str;
int len = getLength(str);
cout << "该字符串长度为:" << len << endl;
int upperCount = 0, lowerCount = 0, digitCount = 0;
for (int i = 0; i < len; i++) {
char ch = str[i];
if (ch >= 'A' && ch <= 'Z') {
upperCount++;
} else if (ch >= 'a' && ch <= 'z') {
lowerCount++;
} else if (ch >= '0' && ch <= '9') {
digitCount++;
}
}
cout << "其中大写字母个数为:" << upperCount << endl;
cout << "其中小写字母个数为:" << lowerCount << endl;
cout << "其中数字个数为:" << digitCount << endl;
return 0;
}
```
程序中定义了一个 `getLength()` 函数,用于计算字符串的长度。在 `main()` 函数中,先读入一个字符串,然后调用 `getLength()` 函数求出字符串长度,最后遍历字符串统计大写字母、小写字母和数字的个数。
需要注意的是,程序假设输入的字符串长度不超过 30,因此数组 `str` 的长度为 30。如果输入的字符串长度超过 30,程序可能会出现数组越界的错误。
阅读全文