c语言结构体按地址赋值,关于指针结构体地址赋值的问题

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

#include

#include

int grad,clas;

struct stu_

{

char name[11];

char sex;

int num;

float score[3];

float ave;

}; void input(struct stu_ *p)

{

int j;

printf("请输入姓名:");

gets(p->name);

printf("请依次输入性别-学号:");

scanf("%c-%d",&p->sex,&p->num);

printf("请依次输入数学 语文 英语成绩:\n");

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

scanf("%f",&p->score[j]);

} void ave(struct stu_ *p)/*……*/ {

int j;

p->ave=0;

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

p->ave+=p->score[j]/3.0;

} void sort(struct stu_ *p,int n)

{

struct stu_ *t;

int i,j; for(i=0;i

{

for(j=0;j

{

if( (p+j+1)->ave > (p+j)->ave )

{

t=(p+j+1);

// (p+j+1)=p+j;

// (p+j)=t;

}

}

}

} void output(struct stu_ *p)

{

printf("%-6s%8.1c%9.1f%8.1f%8.1f%8.1f\n",p->name,p->sex,p->score[0],p->score[1],p->score[2],p->ave);

} main()

{

struct stu_ stud[50],*p=stud,c;

int n,i;

float *q; printf("请输入年级-班级:");

scanf("%d-%d",&grad,&clas); printf( "请输入学生总数:" );

scanf( "%d",&n ); for(p=stud;p

input(p); for(p=stud;p

{

ave( p );

} for(p=stud;p

sort( p,n ); printf(" %d-%d班成绩为:\n",grad,clas);

printf("姓名 性别 数学 语文 英语 平均分\n");

for(p=stud;p

output( p ); system( "pause" );

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值