当前位置: 代码迷 >> C语言 >> 红色部分该如何去实现呢?????
  详细解决方案

红色部分该如何去实现呢?????

热度:408   发布时间:2006-02-20 21:42:00.0
红色部分该如何去实现呢?????

1. 定义一个数组a[11],用以存放学生的成绩。

2. 从键盘输入10个学生成绩

3. 输出平均分、最高分、最低分

4. 采用冒泡法,将学生成绩按照从高到低进行排序

5. 再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组

将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。

红色部分该如何去实现呢?????




----------------解决方案--------------------------------------------------------

红色的部分指的是第5步


----------------解决方案--------------------------------------------------------

你先想想~
大概思路1,2,3,4你会,就不说了
第5步,假如新加入的成绩是n,找到一个i使得 a[i]>n&&a[i+1]<n
然后你挪动a[i+1]后面的元素往后一位,a[i+1]赋值n就行了

至于反序存放,你可以引入一个变量做中介,使得下标相加为10的元素换位置
例如a[8]和a[2]换位置


----------------解决方案--------------------------------------------------------

找到"i"???
还很糊呀~~~~~不懂呀```

[此贴子已经被作者于2006-2-21 13:46:16编辑过]


----------------解决方案--------------------------------------------------------

第五步就是:向线性表中按照线性表的规律插入一个数了
把你要插入的数和原来的数一个一个的比较;
用一个for了
假设你要插入的数为89;
如果找到一个a[i]>89;

那么就把a[i]后面的数向后移
就是 a[i+1]=a[i];
a[i]=89;
i++;
这样就可以把89插入进去了


----------------解决方案--------------------------------------------------------
  相关解决方案