首页    新闻    小组    威客    人才    下载    博客    代码贴    在线编程    论坛
调用结构体指针,出现了问题 编译组建都没问题 就...

子弹上膛2013-06-06 08:37 发布

标题:调用结构体指针,出现了问题 编译组建都没问题 就是没法进入调用的排序函数
题目 
  输入5个学生的信息,然后输出时按照学生名字的首字母进行排序

#include<stdio.h>
#include<string.h>
struct Student                           //定义结构体
{
    char name[20];
    int num;
    int age;
}tongxue[5],*p=tongxue;            

int main()                                 //主函数
{
    void input(struct Student a[]);       //输入函数的声明
    void sort(struct Student a[]);        //排序函数的声明
    void output(struct Student a[]);      //输出函数的声明
    printf("请输入学生的信息\n");
    input(p);                              //函数的调用
    sort(p);
    output(p);
    return 0;
}


void input(struct Student a[])                                 //输出函数的定义
{
    int i;
    for(i=0;i<5;i++)
        scanf("%s %d %d",a[i].name,&a[i].num,&a[i].age);
}

void sort(struct Student a[])                                      //排序函数的定义
{
    int i,j,min;
    struct Student temp;
    for(i=0;i<5;i++)                                          //利用选择排序的方法进行排序
    {
        min=i;
        for(j=i=1;j<5;j++)
             if(strcmp((a[min].name),(a[j].name))>0)           
            {
                min=j;
                temp=a[i];
                a[i]=a[min];
                a[min]=temp;
            }
    }

}

void output(struct Student a[])                      //输出函数的定义
{
    int i;
    struct Student *b;
    printf("姓名        学号            年龄/n");
    for(i=0,b=a;i<10;i++,p++)
        printf("%-8s %-10d %-5d\n",b->name,b->num,b->age);
}
 
 
最新话题:

C语言兼职

W3wp进程劫持,已经加载了Dll ,但...

学习好的,需要兼职的,看过来

求助!

C语言程序设计现代方法第二版P152第...

请教C语言三个数中最大数问题

大家好!

求助大佬,请问哪里出错了,运行后...