| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1723 人关注过本帖
标题:求大神帮忙看看。编写一统计班级(班级人数未知)的学习成绩(求出最高分、最 ...
只看楼主 加入收藏
powerfrank
Rank: 2
等 级:论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
结帖率:80%
收藏
 问题点数:0 回复次数:1 
求大神帮忙看看。编写一统计班级(班级人数未知)的学习成绩(求出最高分、最低分、平均分)的程序。
//编写一统计班级学习成绩(求出最高分、最低分、平均分)的程序。班级人数事先不知道,
//输入一小于0或者大于100的分数时表示输入结束。
//提示错误,请问问题出在哪里呢?

#include <stdio.h>
#include <stdlib.h>

int main()

{
    int max=0 , min=0 , temp=0 , sum=0 , num=0;//最高分,最低分,暂记分,总分,个数

    printf("请输入班级学习成绩(空格隔开),当输入的分数小于0或者大于100时表示输入结束。\n");

    while( scanf_s("%d",&temp) , temp >= 0 && temp <= 100 ) //循环计数,统计求和,记最高最低分
    {
        sum += temp ;  //统计求和
        num += 1 ;    //计数

        int i = 0 , j = 0 ;

        //按输入次序,分奇偶次对i和j赋值;
        if( num % 2 == 1 )  
        {
            i = temp ;
        }else
        {
            j = temp ;
        }

        //判断大小,对max和min赋值;
        if( num > 1 )   
        {
            if ( (i >= max) && (i >= j) )  //第二次及以上正确输入时,判断大小并对max赋值;
            {
                max = i ;
            }else if( (j >= max) && (j >= i)  )
            {
                max = j ;
            }

            if ( (i <= min) && (i <= j) )  //第二次及以上正确输入时,判断大小并对min赋值;
            {
                min = i ;
            }else if( (j <= min) && (j <= i) )
            {
                min = j ;
            }

        }else              //第一次正确输入时对min和max赋值;
        {
            max = i ;
            min = i ;
        }
    }

    if( num = 0 )
    {
        printf("输入错误。\n");
    }else
    {
        printf("班级成绩最高分%d,最低分%d,平均分%d。\n", max , min , sum/num );
    }

    system ( "PAUSE" );

    return 0 ;

}
搜索更多相关主题的帖子: 统计 输入 max min temp 
2018-04-25 18:57
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
收藏
得分:0 
回复 楼主 powerfrank
我没明白你为什么要分奇偶次,我弄了一个这个功能的。
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main(void)
{
    float score,max=0,min=100,sum=0;
    float avg;
    int student=0;
    scanf("%f",&score);
    while(score>0 && score<100)
     { 
        sum+=score;
        if(max<score)max=score;
        if(min>score )min=score;
        scanf("%f",&score);
        student++;
        
     }
     if (student>0)
            {
            avg=sum/student;
            printf("输入学生成绩人数:%d,最高分:%g,最低分:%g,平均分:%g\n",student,max,min,avg);}
    system("pause");
    return 0;
}


[此贴子已经被作者于2018-4-25 22:01编辑过]

2018-04-25 21:43
快速回复:求大神帮忙看看。编写一统计班级(班级人数未知)的学习成绩(求出最高分 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030366 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved