写一段C++代码输入10个学生的成绩,求其平均值,输出最高成绩,并统计低于平均值的人数
时间: 2024-06-07 15:05:20 浏览: 155
以下是您要求的 C 代码:
#include <stdio.h>
int main() {
float scores[10];
float sum = 0;
float avg;
float max = 0;
int count = 0;
// 读取10个成绩
for (int i = 0; i < 10; i++) {
printf("请输入学生 %d 的成绩:", i + 1);
scanf("%f", &scores[i]);
sum += scores[i];
if (scores[i] > max) {
max = scores[i];
}
}
// 计算平均值
avg = sum / 10;
// 统计低于平均值的人数
for (int i = 0; i < 10; i++) {
if (scores[i] < avg) {
count++;
}
}
// 输出结果
printf("平均成绩为:%.2f\n", avg);
printf("最高成绩为:%.2f\n", max);
printf("低于平均值的人数为:%d\n", count);
return 0;
}
当然,这只是一段简单的代码示例,实际应用中还需要对输入进行校验等操作。
相关问题
用c++写一段代码使得输入5个学生成绩,写一个子函数,求出平均分、最高分和最低分。要求子函数不带返回值,用全局变量的方式把值带回给主函数。
在C++中,你可以创建一个主函数(main function),在其中接收用户输入的5个学生成绩,并调用一个子函数(function)来计算并更新全局变量的平均分、最高分和最低分。下面是一个简单的示例:
```cpp
#include <iostream>
#include <climits> // 包含最大和最小整数常量
// 定义全局变量用于存储结果
double sum = 0, average, max_score = INT_MIN, min_score = INT_MAX;
// 子函数,参数无返回值,通过引用修改全局变量
void calculate_scores() {
double score;
for (int i = 0; i < 5; ++i) {
std::cin >> score;
sum += score;
if (score > max_score)
max_score = score;
else if (score < min_score)
min_score = score;
}
average = sum / 5; // 平均分计算
}
int main() {
calculate_scores(); // 调用子函数
// 在这里,全局变量已经被更新
std::cout << "平均分: " << average << std::endl;
std::cout << "最高分: " << max_score << std::endl;
std::cout << "最低分: " << min_score << std::endl;
return 0;
}
```
在这个例子中,`calculate_scores`函数接收用户输入的成绩,更新了sum、max_score和min_score。由于它们是全局变量,所以改变发生在整个程序范围内。
编写程序实现如下功能:从键盘上输入若干个学生的成绩(假设学生人数不超过100人),统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。C++格式
在C++中,你可以使用数组来存储学生分数,并通过循环来计算平均分和找出低于平均分的学生分数。以下是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
const int MAX_STUDENTS = 100;
int scores[MAX_STUDENTS] = {0}; // 初始化所有分数为0
int count = 0; // 实际输入的学生人数
int score;
double average = 0.0; // 平均分
cout << "请输入学生的成绩(输入负数结束):" << endl;
while (count < MAX_STUDENTS) {
cin >> score;
if (score < 0) break; // 输入负数结束输入
scores[count++] = score; // 存储分数并增加计数器
}
// 计算平均分
for (int i = 0; i < count; ++i) {
average += scores[i];
}
average /= count;
// 输出低于平均分的学生成绩
cout << "平均成绩为:" << average << endl;
cout << "低于平均分的学生成绩有:" << endl;
for (int i = 0; i < count; ++i) {
if (scores[i] < average) {
cout << scores[i] << " ";
}
}
cout << endl;
return 0;
}
```
这段代码首先声明了一个最大可存储100个整数的数组`scores`用于记录学生成绩,一个整数`count`用于记录实际输入的成绩数量,以及一个`double`类型变量`average`用于存储平均分。程序循环接收用户输入的成绩,一旦输入负数即停止输入并跳出循环。随后,程序计算所有成绩的平均值,并遍历数组,输出所有低于平均分的学生成绩。
阅读全文