#include<stdio.h>
#include<string.h>
struct NAME
{
int id;
char name[20];
};
struct NAME chushi_name[4] = {
{1,"fenghaojun"},
{2,"zhangwen"},
{3,"liming"},
{4,"dajinjin"},
};
void RE_NAME(struct NAME *p, struct NAME* end_name)
{
void swap(int* m, int* n);
int i, j, k;
for (i = 0; i < 4; i++)
{
for (j = i + 1; j < 4; j++)
{
if (strcmp((p+i)->name, (p+j)->name) < 0)
{
swap((p + i)->name, (p + j)->name);
}
}
(end_name + i)->id = (p+i)->id;
*((end_name+i)->name) = *((p+i)->name);
}
for (int k = 0; k < 4; k++)
{
*((p + 3-k)->name) = *((end_name + k)->name);
}
}
void swap(int* m, int* n)
{
int temp;
temp = *m;
*m = *n;
*n = temp;
}
int main()
{
int i;
struct NAME* p;
p = (struct NAME *) malloc(sizeof(struct NAME));
RE_NAME(chushi_name, p);
for (i = 0; i < 4; i++)
{
printf("%d %s\n", (chushi_name + i)->id, (chushi_name +i)->name);
}
return 0;
}
1 dhanhaojun
2 fimigwen
3 lengng
4 zajinjin