Time Limit: 5 Sec  Memory Limit: 128 MB
Submit: 11171  Solved: 3405
[Submit][Status]

Description

把字符串按照ASCII码序的从小到大排列出来。

串的ASCII码序遵循如下递归定义:

1 两串的前n-1个字符相同,第n个字符ASCII码序小的排在前面;
2 只有两串的字符完全相同时,才有两串相等。

字符的ASCII码序比较可以用strcmp()函数完成。

Input

第一行输入为一个整数N(N<=50,000),后接N行,每行一个字符串,串长不超过100,000。

Output

输出为N行,按照字符串的ASCII码序排列,ASCII码序小的排前面。

Sample Input

10 abc bc aca ca c aac aba bc da ba

Sample Output

aac aba abc aca ba bc bc c ca da

HINT

用二维数组很难一次性分配出这么大的空间了,要用到根据输入变化的动态分配的内存才行。这里需要动态的数据结构,比如,字符指针的数组“char *s[]”,或者是二维的字符指针“char **s”,等等。

Append Code

[Submit][Status]


#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

char a[100005];

int main()

{

    int n,i,j,len;

    char *t;

    scanf("%d",&n);

    getchar();

    char *p[n+1];

    for(i=0;i<n;i++)

        {

            gets(a);

            len=strlen(a);

            p[i]=(char*)malloc(sizeof(char)*(len+1));

            strcpy(p[i],a);

        }

        for(j=1;j<=n-1;j++)

        {

            for(i=0;i<n-j;i++)

            {

                if(strcmp(p[i],p[i+1])>0)

                {

                    t=p[i];

                    p[i]=p[i+1];

                    p[i+1]=t;

                }

            }

        }

        for(i=0;i<n;i++)

            puts(p[i]);

        for(i=0;i<n;i++)

            free(p[i]);

    return 0;

}

[山东科技大学OJ]1334 Problem D: 动态的字符串排序相关推荐

  1. [山东科技大学OJ]1168 Problem C: 输出连续的整数序列 之二

    Time Limit: 1 Sec Memory Limit: 2 MB Submit: 21954 Solved: 5086 [Submit][Status] Description 输出若干个连续 ...

  2. [山东科技大学OJ]1376 Problem F: 编写函数:数组的排序 (Append Code)

    Time Limit: 1 Sec Memory Limit: 16 MB Submit: 18648 Solved: 9472 [Submit][Status] Description 输入一组整数 ...

  3. [山东科技大学OJ]2301 Problem G: 车牌限行

    Time Limit: 1 Sec  Memory Limit: 16 MB Submit: 4289  Solved: 1323 [Submit][Status] Description 某市因交通 ...

  4. [山东科技大学OJ]1245 Problem H: The Hanoi Tower

    Time Limit: 1 Sec  Memory Limit: 16 MB Submit: 8260  Solved: 4681 [Submit][Status]Description " ...

  5. [山东科技大学OJ]1060 Problem G: 求最大值和最小值

    Time Limit: 1 Sec Memory Limit: 4 MB Submit: 15322 Solved: 4646 [Submit][Status] Description 求出一些整数中 ...

  6. 山东科技大学 OJ试题 Problem B 成绩统计

    Description 把百分制的考试成绩转换为五个等级: 90-100:Excellent 80-89:Good 70-79:Average 60-69:Pass 0-59:Failing 统计每个 ...

  7. 山东科技大学计算机系招生,山东科技大学在职研究生计算机技术招生动态

    近日山东科技大学在职研究生计算机技术专业开始招生,学制2年,学费24000元. 虽然最近几年计算机专业毕业的人越来越多,但是用人单位对此并不满意,原因在于刚从学校毕业的学生并不能胜任现有的工作岗位,很 ...

  8. Problem B: 编写函数:求最大公约数gcd()和最小公倍数lcm() (Append Code) 山东科技大学 oj

    题目描述 辗转相除法,也称欧几里得算法,是求最大公约数的算法.辗转相除法首次出现于欧几里得的<几何原本>(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的<九章算术> ...

  9. 问题 L: A+B Problem (IV) : Input/Output Practice 山东科技大学OJ C语言

    题目描述 计算a+b,0<=a,b<1000. 输入 输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开. 输出 每行输出一个a+b的值,顺序与输入对应.每个格式样例之间用一个空 ...

最新文章

  1. mongdb开始标记
  2. php之面向对象(2)
  3. freenas共享指定网络密码不正确_FreeNas系统安装贴心教程(附常见问题解决方案)...
  4. jasper s java jacal_Jasper's Java Jacal
  5. MAPZONE GIS SDK接入Openlayers3之二——空间参考扩展
  6. ServerHttpRequest 和 HttpServletRequest 获取 IP 地址 学习笔记
  7. JAVA实现度分秒单位换算
  8. AI近义词替换工具.v.1.2
  9. python中str类型_python中str指的是什么类型
  10. java项目 科学计算器_结对项目-增强型科学计算器
  11. 女性有十大超能力,你知道吗?
  12. 安装torch-geometric
  13. LMG3410R050功率放大级解决方案
  14. 一款功能强大的Web接口和网页测试工具
  15. 3.7V锂电池电压与容量关系
  16. 怎样查询SCI和EI检索号
  17. windows设置开机启动程序
  18. 企业微信 android2.3,企业微信2.3版本发布
  19. wow mysql dbc_DBC表含义
  20. ie java被阻止_解决IE屏蔽Java Applet问题的方法

热门文章

  1. 微机原理与接口技术——A.微型计算机基础(3)
  2. 一、 Android 应用程序概述
  3. 【网优谷】如何快速写出有吸引力的网站标题?
  4. TIOBE 6 月编程语言排行榜
  5. 多元函数第三:线性变换(3)等距变换与酉矩阵
  6. 视频聊天开发参考资料
  7. Python之列表和元组的基本操作(超详细)
  8. iOS 面向切面编程 Aspects 库的使用
  9. 小白月赛25 G解方程
  10. localStroage