4. 有一字符数组char c[50] = “abcdefghijklmnOPQRSTUVWXYZ”,请编程实现如下功能: 1) 统计字符数组C中共有多少个字母字符(不许用strlen()函数); 2) 将字符数组C中的大写字母转为小写字母(不许用strlwr()函数) 3) 将字符数组C中将小写字母转为大写字母(不许用strupr()函数)
时间: 2023-12-29 18:04:22 浏览: 72
以下是该程序的实现:
```c++
#include <iostream>
using namespace std;
int main() {
char c[50] = "abcdefghijklmnOPQRSTUVWXYZ";
int cnt = 0; // 统计字母字符的个数
for (int i = 0; c[i] != '\0'; i++) {
if ((c[i] >= 'a' && c[i] <= 'z') || (c[i] >= 'A' && c[i] <= 'Z')) {
cnt++;
}
if (c[i] >= 'A' && c[i] <= 'Z') {
c[i] = c[i] - 'A' + 'a'; // 大写字母转小写字母
} else if (c[i] >= 'a' && c[i] <= 'z') {
c[i] = c[i] - 'a' + 'A'; // 小写字母转大写字母
}
}
cout << "字母字符的个数为:" << cnt << endl;
cout << "转换后的字符数组为:" << c << endl;
return 0;
}
```
输出结果为:
```
字母字符的个数为:26
转换后的字符数组为:ABCDEFGHIJKLMNopqrstuvwxyz
```
解释:遍历字符数组`c`,如果当前字符是字母字符,那么计数器加1;如果当前字符是大写字母,则将其转换为小写字母;如果当前字符是小写字母,则将其转换为大写字母。最后输出字母字符的个数和转换后的字符数组。
阅读全文