参考:http://tieba.baidu.com/p/799479523
http://wenku.baidu.com/link?url=84rI8nPzX2Ysac14_UcRekalOMIwY1CbN_ao6OEooenpMiQ8nAWQNesldOZXavcx0KyAqKo5pkDh3RFlTHgevt8bxGJ4NBn5ULixv-5EQ9y
给个邮箱吧 我就把我的发过去好了 其他东西子自己改吧 把类里面的内容删掉几个 就行了
struct student {
int num;
char *name;
char sex;
int age;
float grade;
};
int main()
{
struct student d[] = {
{101, "Ahang", 'M', 19, 95.5},
{102, "Wang", 'F', 18, 92.0},
{103, "Zhao", 'M', 19, 85.5},
{104, "Li", 'M', 20, 96.0},
{105, "Gao", 'F', 17, 91.0}
};
int i, j, len = sizeof(d)/sizeof(struct student);
struct student tmp;
printf("num name sex age grade\n");
for(i=0; i<len; i++) {
printf("%d %-5s %-3c %-3d %0.2f\n", d[i].num, d[i].name, d[i].sex, d[i].age, d[i].grade);
}
for(i=0; i<len-1; i++) {
for(j=i+1; j<len; j++) {
if(d[i].grade > d[j].grade) {
tmp = d[i];
d[i] = d[j];
d[j] = tmp;
}
}
}
printf("\nnum name sex age grade\n");
for(i=0; i<len; i++) {
printf("%d %-5s %-3c %-3d %0.2f\n", d[i].num, d[i].name, d[i].sex, d[i].age, d[i].grade);
}
return 0;
}