zoukankan      html  css  js  c++  java
  • 统计和输出实验 8 数组2 一次考试中的最高分、最低分、平均分,以及在90~100、 80~89、 70~79、 60~69和60分以下各分数段的人数。程序代码如下

    #include <stdio.h>
    #define MAX_N 100  //最大总人数
    void main()                                     
    {
        int n;                                        //总人数
        int i;                                        //循环变量
        float Mark[MAX_N];                            //各人成绩
        float MaxMark,MinMark,AvgMark;                //最高分 最低分 平均分    
        float sum;                                    //分数总和
        int Num90=0,Num80=0,Num70=0,Num60=0,Num0=0; //分数段
        printf("请输入总人数n=");
        scanf("%d",&n);
        for(i = 0; i < n; i++)
        {
            printf("Mark[%d]=", i);
            scanf("%f", &Mark[i]);
        }
        MaxMark=0;
        MinMark=100;
        sum=0;
        for(i = 0; i < n; i++)
        {
            sum = sum + Mark[i];
            if(Mark[i] >= MaxMark)
                MaxMark = Mark[i];
            if(Mark[i] < MinMark)
                MinMark = Mark[i];
            if(Mark[i] >= 90)
                Num90++;
            else if(Mark[i] >= 80)
                Num80++;
            else if(Mark[i] >= 70)
                Num70++;
            else if(Mark[i] >= 60)
                Num60++;
            else
                Num0++;
        }
        AvgMark = sum / n;
        //输出
        printf("最高分为%f
    ", MaxMark);
        printf("最低分为%f
    ", MinMark);
        printf("平均分为%f
    ", AvgMark);
        printf("90-100的人数为%d
    ", Num90);
        printf("80-89的人数为%d
    ", Num80);
        printf("70-79的人数为%d
    ", Num70);
        printf("60-69的人数为%d
    ", Num60);
        printf("60分以下人数为%d
    ", Num0);
    }

    1.程序中没有给sum,maxmark,minmark赋值就开始计算;最大最小平均分都浮点型,而输出的时候是整数型;
    求和时sum加的都是mark【1】而不是依次加完整个数组;少了80-90分的分数段;

    2.2个 第一个是测试循环里是否有错误;第二个是输出时输出的数据不对

    3.变化了,每次运行一步最大值最小值都发生变化

    4.变化时初始值不对,因为没有初始赋值;

    5.刚开始调试时不知道怎么调试

  • 相关阅读:
    LeetCode 842. Split Array into Fibonacci Sequence
    LeetCode 1087. Brace Expansion
    LeetCode 1219. Path with Maximum Gold
    LeetCode 1079. Letter Tile Possibilities
    LeetCode 1049. Last Stone Weight II
    LeetCode 1046. Last Stone Weight
    LeetCode 1139. Largest 1-Bordered Square
    LeetCode 764. Largest Plus Sign
    LeetCode 1105. Filling Bookcase Shelves
    LeetCode 1027. Longest Arithmetic Sequence
  • 原文地址:https://www.cnblogs.com/520zy/p/3405908.html
Copyright © 2011-2022 走看看