根据成绩数组cj中保存的10个学生的成绩,统计相应学生的名次并填入名次数组mc中 (提示:一个学生的名次等于成绩高于该学生的人数加1)。 测试用数据:学生成绩数组:46、68、88、87、76、89、99、65、100、80
时间: 2023-12-21 18:07:04 浏览: 31
好的,根据你的要求,我来回答你的问题:
你可以使用以下代码来实现对学生成绩的排序和填写名次数组的功能,其中使用了冒泡排序的方法:
```python
cj = [46, 68, 88, 87, 76, 89, 99, 65, 100, 80] # 学生成绩数组
mc = [0] * len(cj) # 名次数组
# 冒泡排序
for i in range(len(cj)):
for j in range(i+1, len(cj)):
if cj[i] < cj[j]:
cj[i], cj[j] = cj[j], cj[i]
# 填写名次数组
for i in range(len(cj)):
rank = 1
for j in range(len(cj)):
if cj[j] > cj[i]:
rank += 1
mc[i] = rank
print("成绩数组:", cj)
print("名次数组:", mc)
```
输出结果如下:
```
成绩数组: [100, 99, 89, 88, 87, 80, 76, 68, 65, 46]
名次数组: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```
其中,成绩数组已经按照从高到低的顺序进行排序,名次数组中每个元素表示相应学生的名次。
相关问题
根据成绩数组cj中保存的10个学生的成绩,统计相应学生的名次并填入名次数组mc中
好的,以下是针对你的问题的回答:
你可以使用以下的代码实现:
```c
int cj[10] = {80, 90, 70, 85, 95, 75, 60, 92, 88, 76}; // 保存学生的成绩
int mc[10] = {0}; // 保存学生的名次
// 统计名次
for (int i = 0; i < 10; i++) {
int rank = 1;
for (int j = 0; j < 10; j++) {
if (cj[j] > cj[i]) {
rank++;
}
}
mc[i] = rank;
}
// 输出名次
for (int i = 0; i < 10; i++) {
printf("学生%d的名次是%d\n", i+1, mc[i]);
}
```
这段代码中,我们先定义了一个保存学生成绩的数组`cj`和一个保存学生名次的数组`mc`,然后使用两个循环来统计每个学生的名次。外层循环遍历每个学生,内层循环遍历所有学生的成绩,如果成绩比当前学生高,则名次加1。最后,我们再用一个循环输出每个学生的名次。
希望这个答案能够帮到你!如果你还有其他问题,可以继续问我。
汇编编程:根据成绩数组cj中保存的10个学生的成绩,统计相应学生的名次并填入名次数组mc中
下面是用汇编语言实现的代码:
```
.model small
.stack 100h
.data
cj db 70, 80, 90, 60, 75, 85, 95, 65, 77, 88
mc db 10 dup(0)
.code
main proc
mov ax, @data
mov ds, ax
mov cx, 10 ; 循环10次,对每个学生进行排名
lea si, cj ; 将数组cj的地址加载到si寄存器中
lea di, mc ; 将数组mc的地址加载到di寄存器中
mov bx, 1 ; 初始化名次为1
L1:
mov al, [si] ; 取出当前学生的成绩
mov ah, [di] ; 将当前学生的名次存入名次数组mc中
cmp al, [si+1] ; 比较当前学生的成绩和下一个学生的成绩
jge L2 ; 如果当前学生的成绩大于等于下一个学生的成绩,跳转到L2
inc bx ; 否则,名次加1
L2:
inc si ; 指向下一个学生的成绩
inc di ; 指向下一个学生的名次
dec cx ; 循环计数器减1
jnz L1 ; 如果还有学生,继续循环
mov ah, 4ch ; 退出程序
int 21h
main endp
end main
```
以上代码中,使用了两个指针si和di分别指向成绩数组cj和名次数组mc。使用了一个循环计数器cx,每次循环取出当前学生的成绩,并比较当前学生的成绩和下一个学生的成绩大小,根据大小关系更新名次。最后,将名次数组mc中的数据输出即可。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)