新手提问 现在只学到了数组

xiaoshang211 2009-04-01 11:34:22
冒泡排序:输入每个学生的平均成绩和姓名(为1个字符),将成绩按递减顺序,姓名作相应调整。输出排序后的成绩和姓名。


分数的排列我会 但是怎么把成分数和姓名联系起来呢?
...全文
55 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
x269147836 2009-04-05
  • 打赏
  • 举报
回复
我也是学到二维数组
怎么看不懂什么意思
= =!
xiaoshang211 2009-04-01
  • 打赏
  • 举报
回复
这样你在排序的时候
if(avg[i]>avg[j])
{
交换avg[i] avg[j]
交换name[i] name[j]
}

谢谢啊 我每次都是只交换了avg[] 而没有交换name[] 难怪的
thinkboy234 2009-04-01
  • 打赏
  • 举报
回复
只学了 数组的话 就利用平均成绩这一元素进行排列
用for(i=0;i<n;i++)
{for(j=n-i;j<n;j++)
if(a[i]>a[j])
{k=a[i];a[i]=a[j];a[j]=k;
}
}
windsting 2009-04-01
  • 打赏
  • 举报
回复
那你学了结构(struct)了没有?学了的话,就用一楼的方法就行了,
没学过的话...你就不会变通一下?
定义俩数组,用相同索引值的元素保存同一个人的信息,
给分数排序的时候,顺便把人名的顺序也修改掉不就行了么?
有时候自己多想想答案就出来了,不在于高深的技巧,而在于灵活的头脑。
xiaoshang211 2009-04-01
  • 打赏
  • 举报
回复
水平差了点 没能明白 谁能说的稍微详细一些啊
yangqidong 2009-04-01
  • 打赏
  • 举报
回复
如果是只学到数组的话可以这样做
定义一个字符数组name和一个整型数组avg,分别保存平均成绩和姓名
第一次输入成绩和姓名的时候,把成绩放在avg[0]中,把姓名放在name[0]中,
第二次类推,放avg[1]和name[1]中
这样你在排序的时候
if(avg[i]>avg[j])
{
交换avg[i] avg[j]
交换name[i] name[j]
}
lujinhua89 2009-04-01
  • 打赏
  • 举报
回复
如果不会用结构体,那也可以用两个数组,一个int型用来保存成绩,一个char型用来保存姓名,一一对应起来,然后排序
RickzdWen 2009-04-01
  • 打赏
  • 举报
回复
一个数组保存姓名,一个数组保存相应的分数,对分数排序的时候对保存姓名的数组做相同的调整
mengde007 2009-04-01
  • 打赏
  • 举报
回复
用结构啊
struct student
{
char name[10];
int chengji;
}

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧