提供算法可以么。。
1.放入4个字符串数组
比较A[i] B[i] C[i] D[i]
2.设置index数组初始化为index{0};
在一轮A B C D 比较后设置已分出顺序的字符串 设置其下标,最小设置为1。其余类推
选出仍然为0的index[]继续1 2 循环 直到分出所有下标 若2数组一样则按照数组出现顺序排
#include
#include
void strcmp(char **p,int n,int m);
int main()
{
char *str[20]={"monday","tuesday","wednesday","thursday"};
for(int i=0;i<4;i++)
printf("%s,",*(str+i));
printf("\n");
strcmp(str,4,6);
for(i=0;i<4;i++)
printf("%s,",*(str+i));
printf("\n");
return 0;
}
void strcmp(char **p,int n,int m)
{
for(int i=0;i
int k;
for( k=i;k
char **q;
q=p;
if(*(*(q+i)+j)>*(*(q+k)+j))
{
*q=*(q+i);
*(q+i)=*(q+k);
*(q+k)=*q;
}
}
}
}
我把这四个字符串按从大到小排序,你看行不!!
不用strcmp,你可以用strlen比较长度啊,若长度相等则遍历字符串各字符比较ASC||码大小即可判断