输入n个用户的姓名,性别,地址,电话,按用户姓名的字母顺序排列用户信息
struct Peo
{
char name[20];
char sex[5];
char addr[30];
int tel;
};
int main()
{
int n = 0; //用户数量
int i = 0;
struct Peo temp;
struct Peo p[100] = { 0 };
printf("请输入用户数目:\n");
scanf("%d", &n);
while (n >= 50)
{
printf("数量超限,请重新输入数目:\n");
scanf("%d", &n);
}
for (i = 0; i < n; i++)
{
printf("请输入第%d个用户信息:\n", i + 1);
scanf("%s%s%s%d", &p[i].name, &p[i].sex, &p[i].addr, &p[i].tel);
}
for (i = 0; i < n ; i++)
{
int j = 0;
for (j = 0; j < n - i - 1; j++)
{
if((strcmp(p[j].name, p[j + 1].name))==1)
{
temp = p[j]; //交换p[j]所有信息,p[j].name,p[j].sex,p[j].addr,p[j].tel
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
printf("姓名 性别 地址 电话\n");
for (i = 0; i < n; i++)
{
printf("%4s%5s%s%8d\n", p[i].name, p[i].sex, p[i].addr, p[i].tel);
}
return 0;
}