标题:求最高分、最低分、平均分的程序
只看楼主
小狮子_
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-8-5
结帖率:100%
 问题点数:0 回复次数:4 
求最高分、最低分、平均分的程序
#include<stdio.h>
float Max=0,Min=0;                                 //定义全局变量
void main()
{
    float average(float array[],int n);
    float score[10],aver;
    int i;
    printf("请输入十个学生的成绩:\n");
    for (i=0;i<10;i++)
        scanf("%d",&score[i]);
    aver=average(score,10);
    printf("最高分%f,最低分%f,平均分%f\n",Max,Min,aver);
}

float average(float array[],int n)
{
    float aver,sum=array[0];
    int i;
    Max=Min=array[0];
    for(i=1;i<10;i++)
    {
        if(array[i]>Max)
            Max=array[i];
        else if(array[i]<Min)
            Min=array[i];
        sum=sum+array[i];
    }
    aver=sum/n;
    return (aver);
}
这个程序是书上的程序,但是我的运行结果是这样的:

为什么会这样?!我真是百思不得其解。。。求大神解答
搜索更多相关主题的帖子: average include 
2014-08-16 17:49
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
得分:0 
scanf("%d",&score[i]);  ???

梦想拥有一台龙芯3A-4000
2014-08-16 18:35
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
得分:0 
只看这两句就可以:

程序代码:
    ......
    float score[10],aver;
    ......
        scanf("%d",&score[i]);
    ......

代码测试环境:  WinXP+C-Free5.0.
2014-08-16 20:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
写了输出语句,可以看到输出效果,但写了输入语句,从来不想办法去看看输入效果是否与愿望相符的,太多了,已经算是论坛常见毛病。编程的良好习惯没培养好,都不知师从何家的。其实排错也是从检查输入了什么开始呀,这也要问人吗!

授人以渔,不授人以鱼。
2014-08-16 20:54
小狮子_
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-8-5
得分:0 
嗯嗯,我已经知道了,谢谢
2014-08-16 20:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435063-1-1.html




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

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