题解 | #字符串排序#

字符串排序

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

/***************
** 字符串不能直接赋值,需用strcpy;字符串asc比较用strcmp。冒泡排序,break跳出循环。(借鉴的)
****************/
#include <stdio.h>
#include <string.h>

int main() {
    int n, flag = 0;
    scanf( "%d", &n );
    char str[n][101];
    char tmp[101];
    int i, j;
    for( i = 0; i < n; i++ )
    {
        scanf("%s", str[i]);
    }
    for( j = n - 1; j >= 1; j-- )
    {
        flag = 0;
        for( i = 1; i <= j; i++ )
        {
            if( strcmp(str[i-1],str[i]) > 0 )
            {
                strcpy( tmp, str[i-1] );
                strcpy( str[i-1], str[i] );
                strcpy( str[i], tmp );
                flag = 1;
            }
        }
        if( flag == 0 )
            break;
    }

    for( i = 0; i < n; i++ )
    {
        printf("%s\n", str[i]);
    }

    return 0;
}

全部评论

相关推荐

10-02 19:29
已编辑
浙江科技大学 运营
点赞 评论 收藏
分享
熊大不大:微信也是华为旗下吧,我看我朋友也是华为工牌写wx
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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