组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。计算最高分最低分和平均分(此分保留小数点后两位数)

定义了一个数组 scores 来存储学生的成绩,同时定义了变量 n 表示学生人数, max 表示最高分, min 表示最低分, sum 表示总分, average 表示平均分。首先让用户输入学生人数 n 。
通过一个 for 循环,依次让用户输入每个学生的成绩,并将成绩存储到数组 scores 中。 然后初始化最高分 max 和最低分 min 为数组的第一个元素 scores[0] ,并将其累加到总分 sum 中。再通过另一个 for 循环遍历数组,从数组的第二个元素开始,比较每个元素与当前最高分 max 和最低分 min 的大小,更新 max 和 min ,同时将每个元素累加到总分 sum 中。计算平均分 average ,将总分 sum 除以学生人数 n ,并转换为 double 类型以保留小数。最后输出最高分、最低分和平均分。
下面是代码:

#include <stdio.h>

int main() {
    int n, scores[100];  // 假设最多100个学生,可根据实际情况修改
    int max, min, sum = 0;
    double average;

    // 输入学生人数
    printf("请输入学生人数: ");
    scanf("%d", &n);

    // 输入学生成绩并存入数组
    for (int i = 0; i < n; i++) {
        printf("请输入第%d个学生的成绩: ", i + 1);
        scanf("%d", &scores[i]);
    }

    // 初始化最高分和最低分
    max = min = scores[0];
    sum += scores[0];

    // 遍历数组,更新最高分、最低分和总分
    for (int i = 1; i < n; i++) {
        if (scores[i] > max) {
            max = scores[i];
        }
        if (scores[i] < min) {
            min = scores[i];
        }
        sum += scores[i];
    }

    // 计算平均分
    average = (double)sum / n;

    // 输出结果
    printf("最高分: %d\n", max);
    printf("最低分: %d\n", min);
    printf("平均分: %.2lf\n", average);

    return 0;
}

也可以多实现其他功能,eg:及格率和优秀率等等
以下是加入及格率和优秀率的代码:

#include<stdio.h>
#include<math.h>
int main(){
int a[100],max,min,n,sum=0;
double ave;
int t=0,b=0;
int sum1=0,sum2=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
printf("%d学生的成绩",i+1);
scanf("%d",&a[i]);
}
max=min=a[0];
sum+=a[0];
for(int i=1;i<n;i++){
if(a[i]>max){
max=a[i];
}
if(a[i]<min){
min=a[i];
}
sum+=a[i];
}
for(int i=0;i<n;i++){
if(a[i]>=60){
t++;
sum1+=a[i];
}
if(a[i]>=85){
b++;
sum2+=a[i];
}
}
ave=sum/n;
double ave1=sum1/t;
double ave2=sum2/b;
printf("%d\n",max);
printf("%d\n",min);
printf("%.2f\n",ave);
printf("%.2f\n",ave1);
printf("%.2f\n",ave2);
return 0;
}

希望对大家有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值