c语言数组学生成绩排序,C语言:数组,冒泡排序:输入每个学生的平均成绩和编号(编号为整形如:1、2、…),将成绩按递减顺序,编号作相应调整。输出排序后的成绩和编号。...

2010-08-27 回答

#include

void main()

{

int Cj[5],Xh[5],i,j,t,m;

printf("\n");

printf("请输入5个学生的平均成绩\n\n");

/*========== 输入==================*/

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

{

printf("学号输入:");

scanf("%d",&Xh[i]);

printf("   成绩输入:");

scanf("%d",&Cj[i]);

printf("\n");

}

/*=========== 排序=================*/

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

{

for(j=0;j<4-i;j++)

{

if(Cj[j]

{

t=Cj[j];

Cj[j]=Cj[j+1];

Cj[j+1]=t;

m=Xh[j];

Xh[j]=Xh[j+1];

Xh[j+1]=m; //你就写错这一句

}

}

}

printf("成绩从高到低排序如下:\n");

printf("学号\t成绩\n");

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

{

printf("%d\t%d\n",Xh[i],Cj[i]);

}

}

追问:

谢谢你啊。

如果要在添加一组数据呢

怎么弄啊

是不是要goto语句啊

追答:

如果学生人数确定,比如你这里的5位学生,就在数组长度里定义。如果学生人数不定,你可以定义一个变量n来表示学生人数,由用户自己输入

追问:

刚开始只有五位。

但是如果在这个基础上在添加呢。

该怎么写?

追答:

数组长度一旦确定,就不能更改,你要在这个基础山添加的话只能再定义各变量来存放新学生的学号成绩等。

追问:

那又如何再进行排序呢

有两组数据啊/?

追答:

什么两组数据?

你现在是五个学生,就是五组数据嘛,每组数据包括学号和成绩。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值