编写一个函数 void sortLine(char*line[],int n); 参数line是一个指向串的指针数组,它指向n个串这个函数对这些串进行排序,注:在比较两个串的大小之后需要交换两个串时只需交换line中保存的指向这

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/30 02:00:54
编写一个函数 void sortLine(char*line[],int n); 参数line是一个指向串的指针数组,它指向n个串这个函数对这些串进行排序,注:在比较两个串的大小之后需要交换两个串时只需交换line中保存的指向这
xT[OQ+6UV&M|hB}6iC%^҆kUQKѤYŸٳ>/tYvEk҇I`wg9ǛQOĪ,diO):ɇQ:)fFbg $0 HJ*3x,kc~1?d' Z}(V%mcFǵU~rE.j磲I!9 4(rmS50\' %dU I)mVR)V~2͒iBU>XWK+I;_[]+|Q峺Xi(jKi 3./tW8Thgw@s0EAtwVUUV^'a2ǰ ƚhRȇ@nQr`Ӊ'散 娈`q@3gO84tCQ1bL:ө_W

编写一个函数 void sortLine(char*line[],int n); 参数line是一个指向串的指针数组,它指向n个串这个函数对这些串进行排序,注:在比较两个串的大小之后需要交换两个串时只需交换line中保存的指向这
编写一个函数 void sortLine(char*line[],int n); 参数line是一个指向串的指针数组,它指向n个串
这个函数对这些串进行排序,注:在比较两个串的大小之后需要交换两个串时只需交换line中保存的指向这两个串的指针,而不必交换串本身.
试编写一个程序,从键盘上输入一些单词使用sortLine对这些单词进行排序.

编写一个函数 void sortLine(char*line[],int n); 参数line是一个指向串的指针数组,它指向n个串这个函数对这些串进行排序,注:在比较两个串的大小之后需要交换两个串时只需交换line中保存的指向这
#include
#include
#include
#define STR_MAX_LEN\x05128
#define ARRAY_MAX_SIZE\x0532
void sortLine(char *line[],int n)
{
\x05char * tmp;
\x05int i,j;
\x05for(i = n - 1; i > 0; i--) //冒泡法 从小到大
\x05{
\x05\x05for(j = 0; j < i; j++)
\x05\x05{
\x05\x05\x05if(strcmp(line[j],line[j+1]) > 0)
\x05\x05\x05{
\x05\x05\x05\x05tmp = line[j+1];
\x05\x05\x05\x05line[j+1] = line[j];
\x05\x05\x05\x05line[j] = tmp;
\x05\x05\x05}
\x05\x05}
\x05}
}
void main()
{
\x05char* line[ARRAY_MAX_SIZE]; // char[32][128];
\x05int i = 0;
\x05for(i = 0; i < ARRAY_MAX_SIZE; i++)
\x05\x05line[i] = (char *)malloc(sizeof(char) * STR_MAX_LEN);
\x05i = 0;
\x05//字符串 输入,以0结束 或 达到最大字符串数 结束
\x05do
\x05{
\x05\x05scanf("%s",line[i]);
\x05}while(line[i++][0] != '0' && i < ARRAY_MAX_SIZE);
\x05if(i == ARRAY_MAX_SIZE) i += 1;
\x05sortLine(line,i-1);
\x05i = 0;
\x05while(line[i][0] != '0' && i < ARRAY_MAX_SIZE)
\x05\x05printf("%s\n",line[i++]);
\x05for(i = 0; i < ARRAY_MAX_SIZE; i++)
\x05\x05if(NULL != line[i]) free(line[i]);
}