用c语言编程实现按照24个英文字母表上的顺序进行重新排列,最后输出字符数组s。
时间: 2023-06-11 08:09:53 浏览: 74
以下是一个简单的 C 语言程序,可以实现将一个字符串按照字母表顺序重新排列:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[] = "helloworld";
int i, j, n = strlen(s);
char temp;
for (i = 0; i < n-1; i++) {
for (j = i+1; j < n; j++) {
if (s[i] > s[j]) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
printf("New string: %s\n", s);
return 0;
}
```
该程序使用了冒泡排序算法,对字符串中的每一个字符进行比较,如果前面的字符比后面的字符大,则交换它们的位置。最终得到的字符串按照字母表顺序重新排列。
相关问题
用c语言编程实现:输入一个长度不大于20的字符串,赋给字符数组s,接着将其中的大写字母转换成小写字母将s中的字符,然后按照24个英文字母表上的顺序进行重新排列,最后输出字符数组s。
以下是用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
```