输入一批学生成绩输出最高分,输入复数,表示结束用C语言写一段代码
时间: 2024-12-04 13:26:13 浏览: 18
在C语言中,处理这类问题需要使用数组或者动态内存来存储成绩,并遍历数据查找最高分。由于C语言没有内置的复数类型,这里我们假设输入的“复数”是指整数。以下是一个简单的示例,它会读取输入的整数成绩,直到遇到一个特殊的结束标志:
```c
#include <stdio.h>
#include <limits.h> // 包含INT_MAX用于找到最大值
int main() {
int scores[100]; // 假设最多有100个成绩
int max_score = INT_MIN; // 初始化最高分为负无穷大
int input;
printf("请输入学生的成绩(输入负数结束):\n");
while ((input = getchar()) != EOF && input != -1) { // 循环直到遇到EOF(文件结尾)或-1(特殊结束输入)
scores[getchar() - '0'] = input - '0'; // 将字符转换为整数并存储到数组中
if (scores[getchar() - '0'] > max_score) {
max_score = scores[getchar() - '0']; // 更新最高分
}
}
// 如果最高分仍然是初始值,说明所有输入都是复数,输出提示信息
if (max_score == INT_MIN) {
printf("所有输入都看起来像复数,无法找出最高分。\n");
} else {
printf("最高分是:%d\n", max_score);
}
return 0;
}
阅读全文