对10个字符串进行排序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单个函数

void sort(char s[10][6])

{

int i, j;

char* p, temp[10];

p = temp;

for (i = 0; i < 9; i++)

{

for(j = 0; j < 9 - i; j++)

{

if (strcmp(s[j], s[j + 1]) > 0)

{

//以下三行是将s[j]指向一维数组的内容与s[j+1]指向的一维数组的内容互换

strcpy(p, s[j]);

strcpy(s[j], s[+j + 1]);

strcpy(s[j + 1], p);

}

}

}

}

在主函数中输入10个等长的字符串。用另一个函数对它们进行排序,然后在主函数中列出这10个已经排序好的字符串

#define_CRT_SECURE_NO_WARNINGS 1

#include

#include

void sort(char s[10][6])

{

int i, j;

char* p, temp[10];

p = temp;

for (i = 0; i < 9; i++)

{

for(j = 0; j < 9 - i; j++)

{

if (strcmp(s[j], s[j + 1]) > 0)

{

//以下三行是将s[j]指向一维数组的内容与s[j+1]指向的一维数组的内容互换

strcpy(p, s[j]);

strcpy(s[j], s[+j + 1]);

strcpy(s[j + 1], p);

}

}

}

}

int main()

{

void sort(char s[10][6]);

int i;

char str[10][6];

printf("input 10 string :\n");

for (i = 0; i < 10; i++)

{

scanf("%s", str[i]);

}

sort(str);

printf("Now ,the sequence is :\n");

for (i = 0; i < 10; i++)

{

printf("%s\n", str[i]);

}

return 0;

}

//方法二

#include

#include

void sort(char(*s)[6])

{

int i, j;

char temp[6], * t = temp;

for (i = 0; i < 9; i++)

{

for (j = 0; j < 9 - i; j++)

{

if (strcmp(s[j], s[j + 1]) > 0)

{

strcmp(t, s[j]);

strcmp(s[j], s[+j + 1]);

strcmp(s[j + 1], t);

}

}

}

}

int main()

{

void sort(char s[][6]);

int i;

char str[10][6];

printf("input 10 string :\n");

for (i = 0; i < 10; i++)

{

scanf("%s", str[i]);

}

sort(str);

printf("Now,the sequeence is :\n");

for (i=0;i<10;i++)

{

printf("%s\n", str[i]);

}

return 0;

}

相关文档
最新文档