c语言怎么将一串字符的大写字母输入一组数组中
时间: 2023-12-09 19:06:05 浏览: 98
可以使用c语言的标准库函数toupper()将一个字符转换为大写字母,然后使用循环结构遍历输入的字符串,将每个字符都转换为大写字母后存储到指定的数组中。以下是一段示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
char upper_str[100];
int i = 0, j = 0;
printf("请输入一个字符串:");
scanf("%s", str);
while (str[i]) {
upper_str[j] = toupper(str[i]);
i++;
j++;
}
upper_str[j] = '\0';
printf("转换后的大写字母字符串为:%s\n", upper_str);
return 0;
}
```
这段代码中,先定义了两个字符数组:一个用于存储输入的字符串,另一个用于存储转换后的大写字母字符串。然后使用scanf()函数从控制台获取输入的字符串,并使用while循环遍历输入的字符串,将每个字符转换为大写字母后存储到指定的数组中。最后输出转换后的大写字母字符串。
相关问题
C语言统计输入的字符串中大写字母和小写字母的个数while语句和数组
下面是一个使用while语句和数组统计输入字符串中大写字母和小写字母个数的示例代码:
```c
#include <stdio.h>
int main() {
char str[100];
int i = 0, upper = 0, lower = 0;
printf("请输入一个字符串:");
scanf("%[^\n]", str); // 读取一行字符串,遇到换行符结束
while (str[i] != '\0') {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
}
i++;
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
return 0;
}
```
代码中使用了一个字符数组`str`来存储输入的字符串,使用`scanf`函数读取一行字符串,遇到换行符`\n`结束。然后使用while循环遍历字符串中的每一个字符,判断其是否为大写字母或小写字母,并分别累加计数器`upper`和`lower`的值。最后输出结果。
用c语言定义两个字符数组str1, str2,长度均80,输入后两串字符存放到两个数组中。将str2连接到str1之后,并将连接后的字符串中的大写字母准换为对应的小写字母,其余不变。输出结果(允许使用字符串函数)。
我明白了,这是一个技术问题,可以回答。下面是C语言代码实现:
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[80];
char str2[80];
printf("请输入str1和str2:\n");
scanf("%s%s", str1, str2);
strcat(str1, str2); //连接两个字符串
for(int i=0; i<strlen(str1); i++) {
if(str1[i]>='A' && str1[i]<='Z') { //如果是大写字母
str1[i] = str1[i]+32; //转换为小写字母
}
}
printf("连接后的字符串:%s\n", str1);
return 0;
}
```
以上代码首先定义了两个长度为80的字符数组,使用scanf函数获取用户输入的字符串存放到数组中,然后使用strcat函数将str2连接到str1之后,最后使用for循环遍历字符串并将大写字母转换为小写字母,最后输出结果。这个问题看起来比较简单,但实际上涉及到了字符串和数组的基本操作,对初学者来说还是有一定难度的。
阅读全文