分数段统计-C语言

该程序接收10个百分制成绩,分别统计90分以上、80-89分、70-79分、60-69分及60分以下的成绩数量,并输出结果。
输入10个百分制成绩保存在一维数组中,统计90以上,80~89,70~79,60~69和小于60的分数
#include <stdio.h>
#include <stdlib.h>

int main()
{

    int a[10];int i;
    int count0=0,count1=0,count2=0,count3=0,count4=0;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>=90)
            count0++;
        if(80<=a[i]&&a[i]<=89)
            count1++;
        if(70<=a[i]&&a[i]<=79)
        count2++;
        if(60<=a[i]&&a[i]<=69)
            count3++;
        if(a[i]<60)
            count4++;

    }
    printf("%d %d %d %d %d",count0,count1,count2,count3,count4);
    return 0;
}

### 使用C语言实现统计分数段人数的功能 以下是一个基于C语言的完整示例代码,用于统计学生分数在不同分数段内的人数。假设该需求与集美大学的相关课程作业有关,则可以按照以下方式设计程序。 #### 1. 定义结构体 为了便于管理学生信息,我们定义一个 `Student` 结构体来存储学生的 ID 和成绩。 ```c #include <stdio.h> #include <stdlib.h> // 定义最大学生数量 #define MAX_STUDENTS 100 // 学生结构体 typedef struct { int id; // 学生ID float score; // 成绩 } Student; int main() { int n, i; // 提示用户输入学生总数 printf("输入学生总数: "); scanf("%d", &n); if (n > MAX_STUDENTS || n <= 0) { printf("输入的学生数超出范围!\n"); return 1; } // 动态配学生数组 Student *students = (Student *)malloc(n * sizeof(Student)); if (!students) { printf("内存配失败!\n"); return 1; } // 输入学生信息 for (i = 0; i < n; i++) { printf("输入第%d位学生的ID和成绩(用空格隔): ", i + 1); scanf("%d %f", &students[i].id, &students[i].score); } ``` #### 2. 统计分数段人数 创建一个数组 `segment_counts` 来记录每个分数段人数,并通过循环遍历所有学生的成绩进行统计。 ```c // 初始化分数段计数器 int segment_counts[6] = {0}; // 遍历学生数组并统计分数段人数 for (i = 0; i < n; i++) { if (students[i].score >= 90 && students[i].score <= 100) { segment_counts[0]++; } else if (students[i].score >= 80 && students[i].score < 90) { segment_counts[1]++; } else if (students[i].score >= 70 && students[i].score < 80) { segment_counts[2]++; } else if (students[i].score >= 60 && students[i].score < 70) { segment_counts[3]++; } else if (students[i].score >= 0 && students[i].score < 60) { segment_counts[4]++; } else { segment_counts[5]++; } } ``` #### 3. 输出结果 最后,打印出每个分数段内的学生人数。 ```c // 打印各分数段人数 printf("\n各分数段人数如下:\n"); printf("[90-100]: %d\n", segment_counts[0]); printf("[80-89 ]: %d\n", segment_counts[1]); printf("[70-79 ]: %d\n", segment_counts[2]); printf("[60-69 ]: %d\n", segment_counts[3]); printf("[<60 ]: %d\n", segment_counts[4]); printf("[Invalid Scores]: %d\n", segment_counts[5]); // 处理无效成绩 // 释放动态配的内存 free(students); return 0; } ``` 以上代码实现了对学生分数按不同区间统计的功能[^1]。它首先收集所有学生的成绩数据,接着逐一检查这些成绩属于哪个预定义好的分数段,并更新相应的计数器变量值[^2]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨不想秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值