c语言编程输入10个学生成绩,输出成绩的平均值。
时间: 2023-05-23 09:04:49 浏览: 1783
A:
```c
#include <stdio.h>
int main() {
int n = 10; // 学生数量
int scores[n];
int sum = 0;
float average;
// 输入成绩
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩:", i+1);
scanf("%d", &scores[i]);
}
// 计算总成绩
for(int i = 0; i < n; i++) {
sum += scores[i];
}
// 计算平均分
average = (float)sum / n;
printf("学生的平均成绩为%.2f分\n",average);
return 0;
}
```
代码解析:
1. 定义变量n表示学生的数量,创建数组scores用来存储学生的成绩,定义变量sum用来存储成绩的总和,定义变量average表示平均分。
2. 通过for循环输入每个学生的成绩,将成绩存储到scores数组中。
3. 再通过for循环累加所有成绩的和,存储到sum变量中。
4. 最后计算平均分,即sum/n,因为整型除法结果为整数,所以需要把sum转换成浮点型。用printf输出结果,保留两位小数。
相关问题
c语言编程:从键盘上输入20个学生的成绩,统计计算出平均成绩,并输出低于平均分学生的成绩
### 回答1:
好的,这是一个计算问题,可以回答。以下是 C 语言的代码实现:
```
#include <stdio.h>
int main() {
float scores[20], sum = 0, avg;
int count = 0;
// 从键盘上输入 20 个学生的成绩
for (int i = 0; i < 20; i++) {
printf("请输入第 %d 个学生的成绩:", i+1);
scanf("%f", &scores[i]);
sum += scores[i]; // 累加总分
}
// 计算平均分
avg = sum / 20;
// 输出低于平均分的学生成绩
printf("平均成绩为 %.2f 分\n", avg);
printf("低于平均分的学生成绩为:\n");
for (int i = 0; i < 20; i++) {
if (scores[i] < avg) {
printf("%.2f ", scores[i]);
count++; // 累加低于平均分的学生数
}
}
printf("\n共有 %d 个学生低于平均分", count);
return 0;
}
```
### 回答2:
首先,我们可以使用一个数组来存储这20个学生的成绩。代码如下:
```c
#include <stdio.h>
#define NUM_OF_STUDENTS 20
int main() {
int grades[NUM_OF_STUDENTS];
int sum = 0;
float average;
// 从键盘上输入20个学生的成绩
printf("请输入20个学生的成绩:\n");
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
scanf("%d", &grades[i]);
sum += grades[i];
}
// 计算平均成绩
average = (float) sum / NUM_OF_STUDENTS;
// 输出低于平均分学生的成绩
printf("平均成绩为:%.2f\n", average);
printf("低于平均分学生的成绩为:");
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
if (grades[i] < average) {
printf("%d ", grades[i]);
}
}
return 0;
}
```
在这段代码中,我们定义了一个数组`grades`来存储20个学生的成绩。然后,我们使用一个循环来从键盘上输入这20个学生的成绩,并累加到`sum`变量中。接下来,我们计算平均成绩,除以学生的数量,赋值给`average`变量。最后,我们再次使用循环来输出低于平均分的学生的成绩。
希望可以帮助到你!
### 回答3:
要实现从键盘上输入20个学生的成绩,并统计计算出平均成绩,并输出低于平均分的学生成绩,可以使用C语言编程进行实现。
首先,需要使用循环语句,将键盘输入的学生成绩存储到数组中。在声明一个大小为20的整型数组score,用于存储学生的成绩。使用for循环逐个接收学生成绩,并将其存储到score数组中。
然后,计算平均成绩,需要声明一个变量sum用于累积所有学生的成绩之和,初始值为0。继续使用for循环,将score数组中的每个元素累加到sum中。最后,将sum除以20计算出平均成绩average。
接下来,需要再次使用for循环遍历score数组,并通过if语句找出低于平均分的学生成绩,并输出这些成绩。在遍历过程中,判断每个学生的成绩是否小于average,若小于,则输出该成绩。
下面是具体的C语言代码实现:
```c
#include <stdio.h>
int main() {
int score[20];
int sum = 0;
float average;
// 从键盘上输入20个学生的成绩,存储到score数组中
printf("请输入20个学生的成绩:\n");
for (int i = 0; i < 20; i++) {
scanf("%d", &score[i]);
sum += score[i];
}
// 计算平均成绩
average = (float)sum / 20;
// 输出低于平均分的学生成绩
printf("低于平均分的学生成绩为:\n");
for (int i = 0; i < 20; i++) {
if (score[i] < average) {
printf("%d ", score[i]);
}
}
return 0;
}
```
这样,就可以实现从键盘上输入20个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩。
:编程从键盘输入若干个学生的成绩,输入负数时表示输入结束,输出平均成绩和低于平均分的学生成绩,其中平均值精确到小数点后两位。c语言
可以这样写:
```c
#include <stdio.h>
int main() {
int num, sum = 0, count = 0;
float average;
int scores[100];
printf("请输入学生成绩(输入负数结束):\n");
do {
scanf("%d", &num);
if (num >= 0) {
scores[count] = num;
sum += num;
count++;
}
} while (num >= 0);
average = (float) sum / count;
printf("平均成绩为:%.2f\n", average);
printf("低于平均分的学生成绩为:");
for (int i = 0; i < count; i++) {
if (scores[i] < average) {
printf("%d ", scores[i]);
}
}
printf("\n");
return 0;
}
```
这个程序包括以下步骤:
1. 定义变量 `num` 用来输入每个学生的成绩,`sum` 记录所有成绩的和,`count` 记录输入的成绩个数,`average` 存储平均值,`scores` 存储所有学生成绩。
2. 使用 `do-while` 循环输入每个学生的成绩,并将正数加入到 `scores` 数组中。
3. 计算平均值。
4. 遍历 `scores` 数组,输出低于平均分的成绩。
注意,程序中没有对输入的成绩个数进行判断,如果输入的成绩个数超过了数组 `scores` 的大小(这里设为了 100),会出现数组越界的错误。如果需要对输入个数进行限制,可以添加一些判断和错误处理的代码。
阅读全文