题解 | #字符串排序#

字符串排序

http://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

思路

  1. 得到数据个数
  2. 将字符串存到二维数组中
  3. 通过strcmp循环比较字符串大小
  4. 如果前1个大于后1个则交换位置
  5. 输出调整顺序后的数据

题解

#include <stdio.h>
#include <string.h>

int main()
{
	int n;
    //得到数据个数
	scanf("%d", &n);
	char str[n][101];//含'\0'
    //将字符串存到二维数组中
	for (int i = 0; i < n; i++)
		scanf("%s", str[i]);
	char tmp[101];
    //通过strcmp循环比较字符串大小
	for (int i = 0; i < n; i++)
	{
		for (int j = i+1; j <n; j++)
		{
            //如果前1个大于后1个则交换位置
			if (strcmp(str[i], str[j]) > 0)
			{
				strcpy(tmp, str[i]);
				strcpy(str[i], str[j]);
				strcpy(str[j], tmp);
			}
		}
	}
    //输出调整顺序后的数据
	for (int i = 0; i < n; i++)
		printf("%s\n", str[i]);

	return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 13:05
TMD找工作本来就烦,这东西什么素质啊😡
Beeee0927:hr是超雄了,不过也是有道理的
点赞 评论 收藏
分享
06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:46
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务