qq_51804981 2021-07-16 22:34 采纳率: 100%
浏览 42
已采纳

一个关于C语言的问题

对某班所有学生的高数成绩按成绩由高到底进行排序,统计其平均成绩、每个分数段的学生人数(>90分,80-89分,70-79分,60-69分,<60分),并根据分数段输出每个学生成绩所在等级(>90分:优秀,80-89分:良好,70-79分:中等,60-69分:及格,<60分:不及格)

  • 写回答

3条回答 默认 最新

  • 关注

    你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    #include <stdio.h>
    
    void sort(int array[],int n)
    {
        int i,j,k,t;
        for(i = 0;i < n-1;i ++)
        {
            k = i;
            for(j = i + 1;j < n;j ++)
            {
                if(array[k] < array[j])
                {
                    k = j;
                }
            }
            t = array[k];
            array[k] = array[i];
            array[i] = t;
        }
    }
    
    void main()
    {
        int n,i;
        printf("输入成绩的个数n:");
        scanf("%d", &n);
        int a[n];
        float sum = 0.0;
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
            sum += a[i];
        }
        printf("平均成绩:%.2f", sum/n);
        sort(a,n);
        int sa = 0,sb = 0,sc = 0,sd = 0,se = 0;
        for(i=0;i<n;i++){
            printf("\n%d ",a[i]);
            if (a[i]>=90) {
                printf("优秀");
                sa++;
            } else if (a[i]>=80) {
                printf("良好");
                sb++;
            } else if (a[i]>=70) {
                printf("中等");
                sc++;
            } else if (a[i]>=60) {
                printf("及格");
                sd++;
            } else{
                printf("不及格");
                se++;
            }
        }
        printf("\n优秀人数:%d, 良好人数:%d, 中等人数:%d, 及格人数:%d, 不及格人数:%d",sa,sb,sc,sd,se);
        
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 7月16日
  • 创建了问题 7月16日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!