字符串数组的冒泡排序,从小到大
#include <stdio.h>
#define N 20
int main()
{
char str[N][N];//瀹氫箟涓€涓?0琛?0鍒楃殑鏁扮粍
char (*p)[N];//瀹氫箟涓€涓寚閽堟暟缁? char str1[N];
int num;
int i;
int j;
p = str;//浣挎寚閽堟寚鍚戞暟缁?
printf("input a number !\n");
scanf("%d",&num);//杈撳叆鎯宠鎺掑簭鐨勫瓧绗︿覆涓暟
for(i = 0; i < num; i++)//杈撳叆瀛楃涓? {
scanf("%s",p + i);
}
for(j = 0; j < num - 1; j++)//寰幆num-1娆″疄鐜皀um-1娆″惊鐜? {
for(i = 0; i < num - j -1; i++)//鍦ㄦ瘡涓€瓒熶腑杩涜num - 1娆℃瘮杈? {
if(strcmp(str[i],str[i+1]) > 0)//鐩搁偦涓や釜瀛楃涓叉瘮杈? {
strcpy(str1,str[i]);
strcpy(str[i],str[i+1]);
strcpy(str[i+1],str1);
}
}
}
p = str;
for(i = 0; i < num; i++)//杈撳嚭鎺掑ソ搴忓垪鐨勫瓧绗︿覆
{
printf("%s",p + i);
}
printf("\n");
return 0;
}