C语言用for语句编写该学生五门课成绩和该学生五门课的平均成绩
时间: 2024-06-12 09:05:09 浏览: 82
假设该学生的五门课成绩分别存储在数组score中,可以使用for循环语句计算该学生的五门课的平均成绩,代码如下:
```c
#include <stdio.h>
int main() {
int score[5] = {75, 82, 68, 90, 87}; // 假设五门课的成绩为75、82、68、90、87
int sum = 0;
float avg;
for (int i = 0; i < 5; i++) {
sum += score[i]; // 累加每门课的成绩
}
avg = (float)sum / 5; // 计算平均成绩
printf("该学生的五门课成绩为:");
for (int i = 0; i < 5; i++) {
printf("%d ", score[i]); // 输出每门课的成绩
}
printf("\n该学生的平均成绩为:%.2f", avg); // 输出平均成绩,保留两位小数
return 0;
}
```
输出结果为:
```
该学生的五门课成绩为:75 82 68 90 87
该学生的平均成绩为:80.40
```
相关问题
用c语言for语句求100名同学成绩的平均值
在C语言中,你可以使用for循环计算一组数值的平均值。假设我们有一个包含100个同学成绩的数组,可以按以下步骤编写代码:
```c
#include <stdio.h>
#define NUM_OF_STUDENTS 100
// 假设scores是一个包含学生分数的数组
int scores[NUM_OF_STUDENTS];
int main() {
int i;
float sum = 0; // 初始化总和为0
float average;
// 使用for循环遍历数组并累加每个学生的分数
for (i = 0; i < NUM_OF_STUDENTS; i++) {
scanf("%d", &scores[i]); // 输入每个学生的分数
sum += scores[i];
}
// 计算平均值,并四舍五入到两位小数
average = (float)sum / NUM_OF_STUDENTS;
average = round(average * 100.0) / 100.0;
printf("100名同学的成绩平均值为 %.2f\n", average);
return 0;
}
```
这段代码首先定义了数组`scores`用于存储成绩,然后使用for循环读取每个学生的分数,并累加至`sum`。最后计算平均值并打印结果。
若有n个学生m门课程成绩,编写一个C语言程序实现:(1)每个学生所有课程平均成绩、课程成绩最高分和最低分;(2)所有学生平均成绩、最高总分、最低总分。
这是一个很好的问题。要实现这个功能,你可以利用结构体来存储学生、课程和成绩数据,并使用循环和条件语句进行计算和比较。你可以参考以下伪代码:
struct Student {
int ID;
char name[20];
float grades[10];
float avg_grade;
float max_grade;
float min_grade;
};
void find_max_min_avg(struct Student *students, int n, int m) {
float total_grade = 0.0;
float max_total_grade = 0.0;
float min_total_grade = 1000.0;
int i, j;
for (i = 0; i < n; ++i) {
float sum = 0.0;
float max = 0.0;
float min = 100.0;
for (j = 0; j < m; ++j) {
float grade = students[i].grades[j];
sum += grade;
if (grade > max) {
max = grade;
}
if (grade < min) {
min = grade;
}
}
students[i].avg_grade = sum / m;
students[i].max_grade = max;
students[i].min_grade = min;
total_grade += students[i].avg_grade;
if (students[i].avg_grade > max_total_grade) {
max_total_grade = students[i].avg_grade;
}
if (students[i].avg_grade < min_total_grade) {
min_total_grade = students[i].avg_grade;
}
}
float avg_total_grade = total_grade / n;
printf("每个学生所有课程平均成绩、课程成绩最高分和最低分:\n");
for (i = 0; i < n; ++i) {
printf("学生%d:%s 平均成绩=%.2f 最高成绩=%.2f 最低成绩=%.2f\n", students[i].ID, students[i].name, students[i].avg_grade, students[i].max_grade, students[i].min_grade);
}
printf("所有学生平均成绩=%.2f 最高总分=%.2f 最低总分=%.2f\n", avg_total_grade, max_total_grade * m, min_total_grade * m);
}
感谢您的提问。
阅读全文