结构体实例三

在一个结构体数组中存入十个人的姓名及年龄,按照年纪升序排列并输出每个人的名字与年龄。 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int at;

char mt[20];

struct student{

    char name[20];

    int age;

}stu[10];

int main()

{

    int i,j;

    printf("请输入你的姓名,年龄用空格隔开!\n");

    for(i=0;i<10;i++){

        scanf("%s",stu[i].name);

        scanf("%d",&stu[i].age);

    }

    for(i=0;i<9;i++){

        for(j=0;j<9-i;j++){

            if(stu[j].age>stu[j+1].age){

                   at=stu[j].age;

                   stu[j].age=stu[j+1].age;

                   stu[j+1].age=at;

                    strcpy(mt,stu[j].name);

                    strcpy(stu[j].name,stu[j+1].name);

                    strcpy(stu[j+1].name,mt);

                   /*mt=stu[j].name;

                   stu[j].name=stu[j+1].name;/*

                   stu[j+1].name=mt;*/

            }

        }

    }

    putchar('\n');

    printf("姓名      年龄\n");

    for(i=0;i<10;i++){

        printf("%s       %3d",stu[i].name,stu[i].age);

        putchar('\n');

    }

    return 0;

}

 

 

posted @ 2017-11-05 22:48  梦醒青春时  阅读(420)  评论(0编辑  收藏  举报