用c语言 编写一个程序, 输入一行字符串,将该字符串中所有大写字母改为小写字母后存放在一 新的数组中,最后输出原字符串和转换后的字符串。
时间: 2024-05-08 16:20:04 浏览: 144
好的,我了解您的要求了。以下是C语言编写的程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100], new_str[100];
int i, length;
// 输入字符串
printf("请输入一行字符串:\n");
gets(str);
length = strlen(str);
// 将大写字母转化为小写字母
for (i = 0; i < length; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
new_str[i] = str[i] + 32;
}
else
{
new_str[i] = str[i];
}
}
// 输出原字符串和转换后的字符串
printf("\n原字符串为:%s", str);
printf("\n转换后的字符串为:%s", new_str);
return 0;
}
```
请注意,输入一行字符串时,请勿包含特殊字符或符号,否则程序可能会出现异常情况。ありがとうございます!
相关问题
编写一个程序用C语言输入一行字符串将该字符串中所有大写字母改为小写字母后存放在一新的数组中最后输出原字符串和转换后的字符串
在C语言中,你可以编写一个简单的程序来实现这个功能。下面是一个步骤说明以及相应的代码示例:
1. 首先,你需要创建一个足够大的动态数组来存储转换后的字符串,因为原始长度可能会变。
2. 然后,遍历输入的字符串,如果遇到大写字母,就将其转换为小写字母。
3. 最后,将处理过的字符放入新数组,并确保添加终止符'\0'。
以下是代码片段:
```c
#include <stdio.h>
#include <ctype.h> // 使用ctype_h库中的tolower函数
#define MAX_SIZE 100 // 临时设置最大大小,实际应用中应适当调整
int main() {
char input[MAX_SIZE], output[MAX_SIZE] = {0}; // 新数组用于存放结果
fgets(input, sizeof(input), stdin); // 输入一行字符串
input[strcspn(input, "\n")] = '\0'; // 移除换行符
int i;
for (i = 0; input[i] != '\0'; i++) {
if (isupper(input[i])) { // 判断是否为大写字母
output[i] = tolower(input[i]); // 转换为小写并存入新数组
} else {
output[i] = input[i]; // 如果不是大写,直接复制过去
}
}
output[i] = '\0'; // 结束字符串,添加终止符
printf("原字符串: %s\n", input);
printf("转换后的字符串: %s\n", output);
return 0;
}
```
4.编写一个程序, 输入一行字符串,将该字符串中所有大写字母改为小写字母后存放在一 新的数组中,最后输出原字符串和转换后的字符串。c语言
很好,我可以回答这个问题。以下是使用C语言编写的程序:
#include <stdio.h>
#include <ctype.h>
#define MAX_STR_LENGTH 100
int main() {
char str[MAX_STR_LENGTH], newStr[MAX_STR_LENGTH];
int i;
printf("请输入一个字符串:");
fgets(str, MAX_STR_LENGTH, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
newStr[i] = tolower(str[i]);
} else {
newStr[i] = str[i];
}
}
newStr[i] = '\0';
printf("原始字符串为:%s\n", str);
printf("转换后的字符串为:%s\n", newStr);
return 0;
}
该程序接受用户输入一个字符串,并将该字符串中所有大写字母转换为小写字母,然后将转换后的字符串输出。注意,程序中使用了 ctype.h 头文件中的 isupper() 和 tolower() 函数来判断字符是否为大写字母并进行转换。
阅读全文