#include <stdio.h>

#define MAX_NUM 100 // 最多学生数 #define MIN_SCORE 0 // 最低分数 #define MAX_SCORE 100 // 最高分数

int main() { int score[MAX_NUM]; // 存储成绩的数组 int num; // 学生数 int max_score = MIN_SCORE; // 最高分数 int min_score = MAX_SCORE; // 最低分数 int sum_score = 0; // 总分数 int max_score_count = 0; // 最高分数的人数 int min_score_count = 0; // 最低分数的人数

// 输入学生数及成绩,要保证成绩在 0~100 之间
printf("请输入学生数(最多 %d 人):", MAX_NUM);
scanf("%d", &num);

for (int i = 0; i < num; i++) {
    printf("请输入第 %d 个学生的成绩:", i + 1);
    scanf("%d", &score[i]);

    // 判断成绩是否在 0~100 之间
    while (score[i] < MIN_SCORE || score[i] > MAX_SCORE) {
        printf("成绩必须在 %d ~ %d 之间,请重新输入:", MIN_SCORE, MAX_SCORE);
        scanf("%d", &score[i]);
    }

    // 更新最高分数和最低分数
    if (score[i] > max_score) {
        max_score = score[i];
        max_score_count = 1;
    } else if (score[i] == max_score) {
        max_score_count++;
    }

    if (score[i] < min_score) {
        min_score = score[i];
        min_score_count = 1;
    } else if (score[i] == min_score) {
        min_score_count++;
    }

    // 更新总分数
    sum_score += score[i];
}

float avg_score = (float) sum_score / num; // 平均分数

// 输出最高分数、最低分数、平均分数
printf("最高分数:%d\n", max_score);
printf("最低分数:%d\n", min_score);
printf("平均分数:%.2f\n", avg_score);

// 输出最高分数和最低分数的人数
printf("考得最高分数的人数:%d\n", max_score_count);
printf("考得最低分数的人数:%d\n", min_score_count);

// 输出考得最高分数和最低分数的同学的学号
printf("考得最高分数的同学的学号:");
for (int i = 0; i < num; i++) {
    if (score[i] == max_score) {
        printf("%d ", i + 1);
    }
}
printf("\n");

printf("考得最低分数的同学的学号:");
for (int i = 0; i < num; i++) {
    if (score[i] == min_score) {
        printf("%d ", i + 1);
    }
}
printf("\n");

return 0;
在数组 score 中存储某小组 C 程序设计课程的成绩设计实现下面的各功能西数并在 main西数中调用组合成一个完整的应用1任务要求任务1输人小组人数及成绩要保证成绩在 0~100 之间2输出该小组的最高成绩、最低成绩、平均成绩。3输出考得最高成绩和最低成绩的同学的人数3出考得最高成绩和最低成续的同学的学号设数组下标即学号可能有成绩。2编写源文件用c语言写

原文地址: https://www.cveoy.top/t/topic/cNXg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录