题解 | #字符串排序#

字符串排序

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-07 18:05
哈哈哈哈哈感觉朋友找工作的已经疯掉了,直接上图
码农索隆:真老板娘:“我嘞个去,这不我当年的套路吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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