【问题描述】 编写一个程序,从键盘接收一个字符串(长度不超过20),采用插入排序,按照字符顺序从小到大进行排序,最后输出排序后的字符串。

求大佬解答
【问题描述】
编写一个程序,从键盘接收一个字符串(长度不超过20),采用插入排序,按照字符顺序从小到大进行排序,最后输出排序后的字符串。
【输入形式】
输入一行字符串,长度不超过20。
【输出形式】
输出排序后的字符串。
【样例输入】
H2e3L*Lo,Wor#Ld.
【样例输出】
#*,.23HLLLWdeoor

1个回答

问题解决的话,请点下采纳,以及之前的问题 https://ask.csdn.net/questions/1001509 也点下采纳,谢谢

之前看错了下面是插入排序

#include <stdio.h>
#include <string.h>
int main()
{
    char a[21];
    scanf("%s",a);
    int t,j=0,i=0;
    int n = strlen(a);
    for(j=1;j < n; j++){
        for(i=0;i<j;i++) {
            if (a[i] > a[j]) break;
        }
        int t=a[j];
        int t1;
        for(;i<=j;i++){
            t1=a[i];
            a[i]=t;
            t=t1;
        }
    }
    printf("%s",a);
    return 0;
}

https://ideone.com/QL7g22 在线调试通过

下面是选择排序

#include <stdio.h>
#include <string.h>
int main()
{
    char a[21];
    scanf("%s",a);
    int t,j=0,i=0;
    int n = strlen(a);
    for(j=0;j < n - 1; j++){
        int min = j;
        for(i=j+1;i < n; i++) {
            if (a[i] < a[min]) min=i;
        }
        if (min != j) {
            t=a[min];
            a[min]=a[j];
            a[j]=t;
        }
    }
    printf("%s",a);
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
输入一个字符串,可以删除字符串s中的任意字符,剩下的字符串形成对称字符串,且该字符串为最长对称字符串
2
指定位置输出字符串:输入一个字符串后再输入两个字符,输出此字符串中从与第一个字
1
编码题,编写一段程序对字符串进行输出
0
统计一个给定字符串中指定的字符出现的次数
1
如何实现从键盘输入字符串,给字符型变量赋值呢?
1
Java用编写函数的方法,颠倒一个字符串,为什么循环次数是n/2-1
1
Java判断一个字符串里面是否有一个短一些的字符串,用程序具体编写出来
4
java题目:编写一个类,该类的功能是可以根据给定的字符串和子串,计算出字符串中包含多少个子串。
1
关于字符串二维数组的问题
1
将有多个字符串和空格组成的字符串分离成单独的字符串
0
python:编写一个程序,从文件sort.in中读入单词(即:以空格分隔的字符串),并对单词进行排序,删除重复出现的单词,然后将结果输出到另一个文件sort.out中。
3
java 获取2个字符串中间所有的字符串
2
python 用正则怎么提取到最后一个指定字符后的字符串
1
C语言小白,想问一下关于字符串插入的代码题zen'me'zuo
1
用指针方法实现:输入两个字符串分别存入字符数组中,再将第二个字符串连接到第一个字符串之后并输出(不能
3
如何控制输入字符串为小写字母?
1
PTA C语言 找最小的字符串 段错误
2
编写一个程序,从键盘接收一个字符串(长度不超过20),采用冒泡法排序,按照字符顺序从小到大进行排序,最后输出排序后的字符串。