c语言编程:从键盘上输入20个学生的成绩,统计计算出平均成绩,并输出低于平均分学生的成绩
时间: 2023-06-02 12:04:41 浏览: 164
好的,这是一个关于c语言编程的问题,我可以回答。以下是需要的代码:
```
#include <stdio.h>
int main() {
int scores[20];
int total = 0;
float average = 0.0;
printf("请输入20个学生的成绩:\n");
// 从键盘输入成绩并计算总成绩
for (int i = 0; i < 20; i++) {
scanf("%d", &scores[i]);
total += scores[i];
}
// 计算平均成绩
average = (float)total / 20;
printf("平均成绩为:%.2f\n", average); // 保留两位小数输出平均成绩
printf("低于平均分的成绩为:\n");
// 输出低于平均分的成绩
for (int i = 0; i < 20; i++) {
if (scores[i] < average) {
printf("%d ", scores[i]);
}
}
return 0;
}
```
这段代码可以实现从键盘输入20个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生的成绩。请注意,这只是一种实现方法,可能有更好的实现方式。
相关问题
C语言5. 从键盘上输入若干个学生的成绩,当成绩小于等于0时结束输入。计算出平均成绩,并输出不及格的成绩和人数。
好的,这是一个基础的C语言编程问题,可以采用循环和条件语句来实现。以下是实现的代码:
```c
#include <stdio.h>
int main() {
float score, sum = 0;
int count = 0, failCount = 0;
printf("请输入学生成绩:\n");
while(1) {
scanf("%f", &score);
if(score <= 0) {
break;
}
sum += score;
count++;
if(score < 60) {
failCount++;
}
}
printf("平均成绩为:%.2f\n", sum / count);
printf("不及格的成绩人数为:%d\n", failCount);
return 0;
}
```
代码解释:
1. 首先定义变量 `score` 用于存储输入的成绩,`sum` 用于累加所有成绩的和,`count` 用于计算输入的成绩个数,`failCount` 用于统计不及格的成绩人数。
2. 进入循环,每次输入一个成绩,如果成绩小于等于0,则跳出循环;否则,累加成绩和、计算成绩个数以及判断是否为不及格成绩。
3. 循环结束后,计算平均成绩并输出,再输出不及格的成绩人数。
希望能够解决你的问题!
用c语言设计编程:统计全班50名同学的平均成绩最好成绩以及最差成绩成绩由键盘输入
在C语言中,设计这样一个程序需要先定义结构体来存储每个学生的姓名和成绩,然后创建数组来存储全班同学的信息。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义学生结构体
typedef struct {
char name[20];
int score;
} Student;
void inputStudents(Student students[], int numStudents); // 输入函数
double calculateAverage(const Student students[], int numStudents); // 平均分计算函数
int findMaxScore(const Student students[], int numStudents); // 最高分查找函数
int findMinScore(const Student students[], int numStudents); // 最低分查找函数
int main() {
int numStudents = 50; // 全班人数
Student students[numStudents]; // 学生数组
// 从键盘输入学生信息
inputStudents(students, numStudents);
// 计算平均分、最高分和最低分
double average = calculateAverage(students, numStudents);
int maxScore = findMaxScore(students, numStudents);
int minScore = findMinScore(students, numStudents);
printf("班级平均成绩: %.2f\n", average);
printf("最高分: %d\n", maxScore);
printf("最低分: %d\n", minScore);
return 0;
}
// 输入学生信息
void inputStudents(Student students[], int numStudents) {
for (int i = 0; i < numStudents; ++i) {
printf("请输入第%d位同学的成绩和名字(用空格隔开): ", i + 1);
scanf("%s %d", students[i].name, &students[i].score);
}
}
// 计算平均分
double calculateAverage(const Student students[], int numStudents) {
double total = 0;
for (int i = 0; i < numStudents; ++i)
total += students[i].score;
return total / numStudents;
}
// 查找最高分
int findMaxScore(const Student students[], int numStudents) {
int max = students[0].score;
for (int i = 1; i < numStudents; ++i)
if (students[i].score > max)
max = students[i].score;
return max;
}
// 查找最低分
int findMinScore(const Student students[], int numStudents) {
int min = students[0].score;
for (int i = 1; i < numStudents; ++i)
if (students[i].score < min)
min = students[i].score;
return min;
}
```
运行这个程序后,用户可以逐个输入50名学生的成绩和名字,程序会自动计算并显示平均分、最高分和最低分。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![c](https://img-home.csdnimg.cn/images/20250102104920.png)