/******************************************************************
*  源程序名：ImpTask5_2_2.cpp                  　　　　　　       *
*  功能：从键盘依次输入1至3号学生的姓名(名字个数不超过20个字符)， *
*        请按字典序进行排序，输出排序后的结果。                   *
******************************************************************/
#include <iostream.h>
#include <string.h>
void main()
{
	char names[4][21];
	char min[21];
	int i,j,min_index;
	for (i=1;i<4;i++)
	{
		cout<<"请输入"<<i<<"号学生的姓名：";
		cin>>names[i];
	}
	//用选择排序法进行排序
	for (i=1;i<3;i++)//有3个姓名，确定下两个，剩下的顺序自然就确定了
	{
		strcpy(min,names[i]);//把当前姓名看作最小
		min_index=i;//记住最小姓名的学号
		for (j=i+1;j<4;j++)//从当前姓名的下一个姓名开始比较
		{
			if (strcmp(min,names[j])>0)//min中姓名不是最小
			{
				strcpy(min,names[j]);
				min_index=j;
			}
		}
		strcpy(names[min_index],names[i]);//把最小名字与当前名字交换位置
		strcpy(names[i],min);
	}
	cout<<"排序后的姓名为：";
	for (i=1;i<4;i++)
		cout<<names[i]<<' ';
	cout<<endl;
}

