用C语言: 定义一个字符数组,其中存放字符串"I love China!",统计并输出其中的大写字母、小写字母、空格字符各有多少?然后重新赋值新的字符串内容给原本字符串“I love China!”,并输出该字符串和第5个字符。
时间: 2024-04-01 21:31:13 浏览: 76
好的,以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[] = "I love China!";
int len = strlen(str);
int upper = 0, lower = 0, space = 0;
for (int i = 0; i < len; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isspace(str[i])) {
space++;
}
}
printf("大写字母:%d,小写字母:%d,空格:%d\n", upper, lower, space);
strcpy(str, "Happy National Day!");
printf("新字符串:%s,第5个字符:%c\n", str, str[4]);
return 0;
}
```
输出结果为:
```
大写字母:2,小写字母:10,空格:2
新字符串:Happy National Day!,第5个字符:y
```
解释一下上面的代码:
首先定义了一个字符数组 `str`,并初始化为 "I love China!"。然后定义了三个变量 `upper`、`lower`、`space` 分别表示大写字母、小写字母、空格字符的数量,初始化为 0。
接下来使用 for 循环遍历整个字符串,判断每个字符是否为大写字母、小写字母或空格字符,如果是对应的类型就把对应的变量加 1。
循环结束后,输出大写字母、小写字母、空格字符的数量。
然后使用函数 `strcpy` 把新的字符串 "Happy National Day!" 赋值给原有的字符串 `str`,并输出新字符串和第 5 个字符。注意,第 5 个字符的下标是 4,因为数组下标从 0 开始。
阅读全文