用c语言编程实现:输入一个长度不大于20的字符串,赋给字符数组s,接着将其中的大写字母转换成小写字母将s中的字符,然后按照24个英文字母表上的顺序进行重新排列,最后输出字符数组s。
时间: 2023-06-11 13:10:08 浏览: 140
以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[21];
int i, j, len;
printf("请输入一个不超过20个字符的字符串:");
scanf("%s", s);
len = strlen(s);
for(i = 0; i < len; i++) {
if(s[i] >= 'A' && s[i] <= 'Z') {
s[i] = s[i] + ('a' - 'A'); //将大写字母转换成小写字母
}
}
for(i = 0; i < len - 1; i++) { //冒泡排序
for(j = 0; j < len - 1 - i; j++) {
if(s[j] > s[j + 1]) {
char temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
}
printf("重新排列后的字符串为:%s\n", s);
return 0;
}
```
运行程序,输入一个字符串,程序会首先将其中的大写字母转换成小写字母,然后按照24个英文字母表上的顺序进行重新排列,最后输出排列后的字符串。
相关问题
编程实现:输入一个长度不大于20的字符串,赋给字符数组s,接着将其中的大写字母转换成小写字母将s中的字符,然后按照24个英文字母表上的顺序进行重新排列,最后输出字符数组s。 用c语言实现
下面是C语言实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void sort(char s[], int n);
int main()
{
char s[21];
int n;
printf("请输入一个不超过20个字符的字符串:");
scanf("%s", s);
n = strlen(s); // 获取字符串长度
// 将大写字母转换为小写字母
for (int i = 0; i < n; i++) {
if (isupper(s[i])) {
s[i] = tolower(s[i]);
}
}
// 按照字母表排序
sort(s, n);
printf("重新排列后的字符串为:%s\n", s);
return 0;
}
void sort(char s[], int n)
{
char temp;
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (s[j] > s[j + 1]) {
temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
}
}
```
示例输入:
```
AbCDefG
```
示例输出:
```
重新排列后的字符串为:abcdefg
```
在c语言中实现:输入一个长度不超过20的字符串,将字符串中的所有小写字母替换为大写字母
以下是在C语言中实现将字符串中的小写字母替换为大写字母的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[21]; //定义一个长度为21的字符数组,用于存储输入的字符串
int i;
printf("请输入一个长度不超过20的字符串:");
scanf("%s", str); //输入字符串
for (i = 0; i < strlen(str); i++) { //遍历字符串中的每一个字符
if (str[i] >= 'a' && str[i] <= 'z') { //如果该字符是小写字母
str[i] = str[i] - 32; //将小写字母转换为大写字母
}
}
printf("转换后的字符串为:%s", str); //输出转换后的字符串
return 0;
}
```
在上述代码中,我们定义了一个长度为21的字符数组用于存储输入的字符串。然后使用scanf函数输入字符串。接着使用for循环遍历字符串中的每一个字符,如果该字符是小写字母,则通过ASCII码将其转换为大写字母。最后使用printf函数输出转换后的字符串。
阅读全文