C语言求解 输入十个学生姓名,分别用冒泡排序法和选择排序法对10个学生的姓名按升排序输出 80
1个回答
展开全部
#include<stdio.h>
#include<string.h>
char stu[10][20];
void Bubble(void)
{
int i, j;
for(i = 0; i < 10; i++)
{
for(j = 0; j + i < 9; j++)
{
if(strcmp(stu[j], stu[j + 1]) > 0)
{
char temp[20];
strcpy(temp, stu[j]);
strcpy(stu[j], stu[j + 1]);
strcpy(stu[j + 1], temp);
}
}
}
for(i = 0; i < 10; i++)
puts(stu[i]);
return;
}
void Selection(void)
{
int i, j;
for(i = 0; i < 10; i++)
{
int k = i;
for(j = i + 1; j < 10; j++)
{
if(strcmp(stu[j], stu[k]) < 0)
k = j;
}
if(k != i)
{
char temp[20];
strcpy(temp, stu[i]);
strcpy(stu[i], stu[k]);
strcpy(stu[k], temp);
}
}
for(i = 0; i < 10; i++)
puts(stu[i]);
return;
}
int main(void)
{
int i;
for(i = 0; i < 10; i++)
scanf("%s", stu[i]);
//Bubble();
Selection();
return 0;
}
/*
123
dsfs
g
erret
5
6456
546
5
567
sdfghj87
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询