#include<stdio.h> #include<string.h> int main(){ int n,k; scanf("%d %d",&n,&k); int i,j; int q; char temp[10]; char a[100][10]; for(i = 0;i<n;i++) {scanf("%s",a[i]); } for(i = 1;i<=n;i++){ for(j = 1;j<n-i+1;j++){ if(strcmp(a[j-1],a[j])>0){ strcpy(temp,a[j]); strcpy(a[j],a[j-1]); strcpy(a[j-1],temp); } } if(k==i) for(j = 0;j<n;j++) printf("%s\n",a[j]);} return 0; }
7-30 字符串的冒泡排序 (20 分)
我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。
输入格式:
输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。
输出格式:
输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。
strcmp和strcpy的用法
strcmp比较两个字符串的大小
strcpy将一个地址的字符串复制到另一个地址strcpy(a,b)将b附到a的地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!