m0_63999697 2021-12-24 10:59 采纳率: 93.5%
浏览 25
已结题

字符串排序 除了string外还有让字符串本身不改变的方法吗

问题描述
输入n个字符串,将这n个字符串从小到大排序后输出。

输入
第一行是一个整数n,表示有n个字符串,接下来n行,每行一个字符串。1<=n<=100。字符串的长度不超过20。 要求写一个函数对n个字符串进行排序,使用指针。

输出
输出有n行,每行一个字符串。

输入样列
6
hangzhou
shanghai
wenzhou
ningbo
tianjing
beijing
输出样例
beijing
hangzhou
ningbo
shanghai
tianjing
wenzhou

#include<stdio.h>
int main()
{
    int n;
    int i,j,t;
    scanf("%d",&n);
    getchar();
    char str[n];
    for(i=0;i<n;i++){
        gets(str);
    }
    for(i=0;i<n-1;i++){
        for(j=i+1;j<n;j++){
            if(str[i]>str[j])
            {
                t = str[j];
                str[j] = str[i];
                str[i] = t;
            }
        }    
    }
    for(i=0;str[i]!='\0';i++){
        printf("%c",str[i]);
    }
    return 0;
}

我这样写就变成了字符串内部也会被排序了TT,然后其他几个字符串也没参与进排序
我的结果:
输入
hangzhou
shanghai
wenzhou
ningbo
tianjing
beijing
输出
beiijng

  • 写回答

2条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2021-12-24 11:01
    关注

    你排序字符数组干嘛啊
    用一个二维数组把所有字符数组存起来,然后根据字符数组的第一位第二位等等吧二维数组的索引排序存起来
    根据二维排序索引打印

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月24日

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?