c语言运行程序出现菜单,【求助】为何我的程序运行之后有个菜单,选择之后的结果一闪而过...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

// 成绩排序系统: #include

#include

#include

#include

#include

#include

void menu();

void meihua(); struct List /*节点结构声明*/

{

long Number;

int score[5];

float average;

struct List *next;

};

typedef struct List Node;

typedef Node *Link; struct student /*结构体数组声明*/

{

long Number_;

int score_[5];

float average_;

}student[45]; int M=45; /*初始学生总数*/ void Free_List(Link Head) /*释放链表*/

{

Link Pointer;

while(Head!=NULL)

{

Pointer=Head;

Head=Head->next;/*消掉下一个节点*/

free(Pointer);

}

} int mysrand(int n) /*成绩生成函数*/

{

int j,k;

for(j=0;j<45;j++)

{

student[j].Number_=2011000001+j+n*1000;

for(k=0; k<5;k++)

{

student[j].score_[k]=rand()%100+1;

}

}

return 0;

} float average() /*平均成绩计算函数,求每个学生的平均成绩*/

{

int i,j;

float sum;

for(i=0;i<45;i++)

{

sum=0.0;

for(j=0;j<5;j++)

{

sum=sum+student[i].score_[j];

}

student[i].average_= sum/5;

}

return 0;

} int sort() /*冒泡排序法*/

{

int i,j,k,t;

float tmp;

for (i=0;i<45-1;i++)

{

for (j=0;j<45-i-1;j++)

{

if (student[j].average_ < student[j+1].average_)

{

tmp = student[j].average_;

student[j].average_ = student[j+1].average_;

student[j+1].average_ = tmp;

for(k=0;k<5;k++)

{

t = student[j].score_[k];

student[j].score_[k] = student[j+1].score_[k];

student[j+1].score_[k] = t;

}

t = student[j].Number_;

student[j].Number_ = student[j+1].Number_;

student[j+1].Number_= t;

}

}

}

return 0;

} int Sort() /*选择排序法*/

{

int i,j,k,m,t;

float tmp;

for(i=0;i<45-1;i++)

{

k=i;

for(j=i+1;j<45;j++)

{

if(student[k].average_ < student[j].average_)

{

k=j;

}

if(k!=i)

{

tmp = student[i].average_;

student[i].average_ = student[k].average_;

student[k].average_ = tmp;

t = student[i].Number_;

student[i].Number_ = student[k].Number_;

student[k].Number_= t;

for(m=0;m<5;m++)

{

t = student[i].score_[m];

student[i].score_[m] = student[k].score_[m];

student[k].score_[m] = t;

}

}

}

}

return 0;

}

Link Create_List_sort(Link Head,int n) /*建立冒泡排序链表*/

{

Link Pointer,point;

int i,j;

Head=(Link)malloc(sizeof(Node));/*内存配置*/

if(Head==NULL)

printf("allocate failure!\n");/*配置失败*/

else

{

mysrand(n);

average();

sort();

Head->average=student[0].average_;

Head->Number=student[0].Number_;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值