7-2 字符串的冒泡排序

分数 10

全屏浏览题目

切换布局

作者 陈越

单位 浙江大学

我们已经知道了将N个整数从小到大排序冒泡排序法。本题要求将此方法用于字符序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列

输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。

输出冒泡排序扫描完第K遍后的中间结果序列每行包含个字符串。

6 2
best
cat
east
a
free
day
best
a
cat
day
east
free

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

参考答案
#include<stdio.h&gt;
#include<string.h&gt;
int main()
{
    int n,k,i,j;
    scanf("%d %dn",&amp;n,&amp;k);
    char word[n][11];
    char copy[11]="";
    for(i=0;i<n;i++)strcpy(word[i],"");
    for(i=0;i<n;i++)gets(word[i]);

    for(i=0;i<k;i++){
        for(j=0;j<n-1;j++){
            if(strcmp(word[j],word[j+1])&gt;=1){
                strcpy(copy,word[j]);
                strcpy(word[j],word[j+1]);
                strcpy(word[j+1],copy);
            }
        }
    }
    for(i=0;i<n;i++){
        printf("%s",word[i]);
        if(i!=n-1)printf("n");
    }

    return 0;
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注