c语言 结构体 内 函数调用,分函数的引用问题,如何调用结构体

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

#include

struct Stu

{

char name[20];

int Xuehao;

float Chinese;

float Math;

float English;

float all;

}student[5];

/*

*/

struct Stu student[];

void TolCom(student)

{

struct Stu tem;

int i,j;

float total1,total2;

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

{

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

{

total1=student[i].all;

total2=student[j].all;

if (total1 > total2)

{

tem = student[i];

student[i] = student[j];

student[j] = tem;

}

}

}

}

/*

*/

void GraDec(float i1)

{

for(;;)

{

if(i1<0||i1>100)

{

printf("illegal\n");

printf("please input it again\n");

fflush(stdin);

scanf("%f",&i1);

continue;

}

break;

}

}

void main()

{

int i;

float i1;

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

{

printf("the information of NO.%d\n",i+1);

printf("please input name\n");

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

printf("%s\n",student[i].name);

printf("please input xuehao\n");

scanf("%d",&student[i].Xuehao);

printf("please input chinese scores\n");

scanf("%f",&i1);

GraDec( i1);

student[i].Chinese=i1;

printf("please input english scores\n");

scanf("%f",&i1);

GraDec( i1);

student[i].English=i1;

printf("please input Math scores\n");

scanf("%f",&i1);

GraDec( i1);

student[i].Math=i1;

}

printf("%f",student[2].Chinese);

printf("***********************未排序总成绩如下**************\n");

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

{

printf("the TOTAL score of NO.%d\t",i);

student[i].all=student[i].Math+student[i].Chinese+student[i].English;

printf("%f\n",student[i].all);

}

TolCom(student);

printf("*******************排序结果如下***********************\n");

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

{

printf("%d\t %f\n",i,student[i].all);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值