c语言已知一个班10个学生的成绩,放在一个一维数组中,要求找出其中成绩最高的学生的成绩和该生的序号。
时间: 2024-02-06 16:12:23 浏览: 105
好的,这是一个很典型的数组操作问题。下面是一个 C 语言程序演示如何实现:
```c
#include <stdio.h>
#define N 10 // 学生数量
int main()
{
int scores[N] = {90, 85, 78, 92, 88, 95, 86, 79, 83, 91}; // 学生成绩
int max_score = scores[0]; // 初始化为第一个学生的成绩
int max_index = 0; // 初始化为第一个学生的序号
// 遍历数组,查找最高分和对应序号
for (int i = 1; i < N; i++) {
if (scores[i] > max_score) {
max_score = scores[i];
max_index = i;
}
}
printf("最高分为%d,对应序号为%d\n", max_score, max_index);
return 0;
}
```
输出结果为:
```
最高分为95,对应序号为5
```
这个程序首先定义了一个长度为 10 的整型数组 `scores`,里面存放了 10 个学生的成绩。然后定义了两个变量 `max_score` 和 `max_index`,用于存放最高分和对应的学生序号。
接下来通过遍历数组,逐个比较每个学生的成绩和最高分,如果发现某个学生的成绩更高,则更新最高分和对应序号。最后输出结果即可。
阅读全文