c语言某班有 15-个学生,进行了数学考试,编写程序将考试成绩输入一维数组
时间: 2024-05-07 13:20:24 浏览: 134
可以使用如下的C代码将15个学生的数学考试成绩存储到一维数组中:
```c
#include <stdio.h>
int main() {
float grades[15]; // 定义一个一维数组,用于存储15个学生的成绩
// 从键盘输入15个学生的成绩,并将其存储到数组中
printf("请输入15个学生的数学成绩:\n");
for (int i = 0; i < 15; i++) {
scanf("%f", &grades[i]);
}
// 输出15个学生的成绩
printf("15个学生的数学成绩为:\n");
for (int i = 0; i < 15; i++) {
printf("%.2f\t", grades[i]);
}
printf("\n");
return 0;
}
```
在程序中,我们首先定义了一个名为`grades`的一维数组,用于存储15个学生的成绩。然后,通过`scanf`函数从键盘输入15个学生的成绩,并将其存储到数组中。最后,通过`printf`函数输出15个学生的成绩。需要注意的是,为了保证输出的成绩格式整齐,我们可以使用制表符`\t`来进行对齐。
相关问题
某班有10个学生,进行了“数学”、“语文”、“英语”、“C语言”等科目的考试,编写程序: (1)将考试成绩输入一个二维数组; (2)求每门课的平均成绩、每门课的不及格学生的人数及每门课的最高分与最低分; (3)求每个学生的平均成绩、总分、不及格门数; (4)按学生平均成绩的高低排序并输出。
以下是一个可能的解决方案,使用 C++ 语言实现:
```c++
#include <iostream>
#include <algorithm> // 用于排序函数
using namespace std;
const int NUM_STUDENTS = 10;
const int NUM_SUBJECTS = 4;
int main() {
int scores[NUM_STUDENTS][NUM_SUBJECTS]; // 存储每个学生的每门科目成绩
// 输入每个学生的成绩
for (int i = 0; i < NUM_STUDENTS; i++) {
cout << "请输入第" << i+1 << "个学生的成绩(数学 语文 英语 C语言):";
for (int j = 0; j < NUM_SUBJECTS; j++) {
cin >> scores[i][j];
}
}
// 计算每门课的平均成绩、不及格人数、最高分和最低分
double avg_scores[NUM_SUBJECTS] = {0}; // 平均成绩
int num_failed[NUM_SUBJECTS] = {0}; // 不及格人数
int max_scores[NUM_SUBJECTS] = {0}; // 最高分
int min_scores[NUM_SUBJECTS] = {100}; // 最低分(初始化为100分)
for (int j = 0; j < NUM_SUBJECTS; j++) {
for (int i = 0; i < NUM_STUDENTS; i++) {
avg_scores[j] += scores[i][j];
if (scores[i][j] < 60) {
num_failed[j]++;
}
max_scores[j] = max(max_scores[j], scores[i][j]);
min_scores[j] = min(min_scores[j], scores[i][j]);
}
avg_scores[j] /= NUM_STUDENTS;
}
// 输出每门课的平均成绩、不及格人数、最高分和最低分
cout << "每门课的平均成绩、不及格人数、最高分和最低分如下:" << endl;
cout << "数学:平均成绩:" << avg_scores[0] << ",不及格人数:" << num_failed[0] << ",最高分:" << max_scores[0] << ",最低分:" << min_scores[0] << endl;
cout << "语文:平均成绩:" << avg_scores[1] << ",不及格人数:" << num_failed[1] << ",最高分:" << max_scores[1] << ",最低分:" << min_scores[1] << endl;
cout << "英语:平均成绩:" << avg_scores[2] << ",不及格人数:" << num_failed[2] << ",最高分:" << max_scores[2] << ",最低分:" << min_scores[2] << endl;
cout << "C语言:平均成绩:" << avg_scores[3] << ",不及格人数:" << num_failed[3] << ",最高分:" << max_scores[3] << ",最低分:" << min_scores[3] << endl;
// 计算每个学生的平均成绩、总分、不及格门数
double avg_scores_per_student[NUM_STUDENTS] = {0}; // 每个学生的平均成绩
int total_scores[NUM_STUDENTS] = {0}; // 每个学生的总分
int num_failed_per_student[NUM_STUDENTS] = {0}; // 每个学生的不及格门数
for (int i = 0; i < NUM_STUDENTS; i++) {
for (int j = 0; j < NUM_SUBJECTS; j++) {
total_scores[i] += scores[i][j];
if (scores[i][j] < 60) {
num_failed_per_student[i]++;
}
}
avg_scores_per_student[i] = total_scores[i] / double(NUM_SUBJECTS);
}
// 按学生平均成绩排序并输出
int idx[NUM_STUDENTS];
for (int i = 0; i < NUM_STUDENTS; i++) {
idx[i] = i;
}
sort(idx, idx+NUM_STUDENTS, [&](int a, int b) {return avg_scores_per_student[a] > avg_scores_per_student[b];});
cout << "按学生平均成绩排序如下:" << endl;
for (int i = 0; i < NUM_STUDENTS; i++) {
int j = idx[i];
cout << "第" << j+1 << "个学生:";
cout << "平均成绩:" << avg_scores_per_student[j] << ",总分:" << total_scores[j] << ",不及格门数:" << num_failed_per_student[j] << endl;
}
return 0;
}
```
这个程序的主要思路是,先输入每个学生的成绩,然后对每门课计算平均成绩、不及格人数、最高分和最低分,再对每个学生计算平均成绩、总分和不及格门数,最后按学生平均成绩排序并输出。在计算平均成绩等统计数据时,使用了数组和循环结构。在排序时,使用了 `sort` 函数和 Lambda 表达式。
某组有五个学生,每个人有语文,数学和英语三门课的考试成绩,设计一个c语言程序,输入考试成绩,求该组单科的平均成绩以及每个人的平均成绩
好的,我可以为您编写这个程序。以下是代码示例:
```c
#include <stdio.h>
int main() {
int scores[5][3]; // 五个学生,每个人有三门课的成绩
int sum[3] = {0}; // 每门课程的总成绩
float subjectAvg[3]; // 每门课程的平均成绩
float studentAvg[5]; // 每个学生的平均成绩
// 输入成绩
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的语文、数学、英语成绩:", i+1);
scanf("%d %d %d", &scores[i][0], &scores[i][1], &scores[i][2]);
}
// 计算每门课程的总成绩
for (int i = 0; i < 5; i++) {
sum[0] += scores[i][0]; // 语文
sum[1] += scores[i][1]; // 数学
sum[2] += scores[i][2]; // 英语
}
// 计算每门课程的平均成绩
for (int i = 0; i < 3; i++) {
subjectAvg[i] = (float) sum[i] / 5;
printf("第%d门课程的平均成绩为:%.2f\n", i+1, subjectAvg[i]);
}
// 计算每个学生的平均成绩
for (int i = 0; i < 5; i++) {
studentAvg[i] = (float) (scores[i][0] + scores[i][1] + scores[i][2]) / 3;
printf("第%d个学生的平均成绩为:%.2f\n", i+1, studentAvg[i]);
}
return 0;
}
```
代码中,我们用一个二维数组 `scores` 来存储每个学生的成绩,用一个一维数组 `sum` 存储每门课程的总成绩。然后分别计算每门课程的平均成绩和每个学生的平均成绩,并输出结果。
阅读全文