对10个字符串进行排序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;
}