代码如下:
#include<stdio.h>
#include<string.h>
void chswap(char** s1,char** s2)
{
char* tmp;
tmp=*s1;
*s1=*s2;
*s2=tmp;
}
int main(void)
{
int n,k,i,j;
scanf("%d %d",&n,&k);
char str[n][11];
for(i=0;i<n;i++)
scanf("%s",str[i]);
for(j=0;j<k;j++)
for(i=0;i<n-j-1;i++)
if(strcmp(str[i],str[i+1])>0)
chswap(&str[i],&str[i+1]); //这句改成chswap(str[i],str[i+1]);也正确,这是为什么????
for(i=0;i<n;i++)
printf("%s\n",str[i]);
return 0;
}
本文详细阐述了使用C语言实现的字符串数组排序过程,通过内嵌的交换函数`chswap`实现元素间的有序排列。文章包括输入读取、排序算法实现及最终输出排序结果的完整流程。
336

被折叠的 条评论
为什么被折叠?



