标题:简单题,求max,min,average,程序已给,求指正
只看楼主
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
结帖率:76.92%
已结贴  问题点数:10 回复次数:11 
简单题,求max,min,average,程序已给,求指正
#include<stdio.h>
int main()
{
    float text(float n,float score[]);
    float n,score[100];
    float i,m,mi,av,j;
    for(i=1;i<=n;i++)
    {
        for(j=0;j<=n;j++)
        while(scanf("%f",&score[j])!=EOF)
        {
            m=max(score);
            mi=min(score);
            av=average(score);
            printf("max=%.1f min=%.1f average=%.1\n",m,mi,av);
        }
    }
    return 0;
}

float text(float n,float score[])
{
    float i,max,min,average,j,sum=score[0];
    max=score[0];
    for(j=0;j<=n;j++)
        if(score[j]>max)
            max=score[j];
        return max;
        min=score[n];
    for(j=n;j>=0;j++)
        if(score[j]<min)
            min=score[j];
        return min;
   for(j=0;j<=n;j++)
       sum=sum+score[j];
   average=sum/n;
   return average;
}


搜索更多相关主题的帖子: max average include return 
2012-12-09 00:00
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
得分:0 
我记得我们老师说过,scanf数组的时候,只要%d,score就可以了啊,为什么编译器说是错误的。到底怎么输入呢?
2012-12-09 00:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:3 
你老师真说过数值数组可以%d score就可以了?

授人以渔,不授人以鱼。
2012-12-09 00:05
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
得分:0 
怎么输入嘛,告诉我啊,我不是天才,不教就自动会的啊。
2012-12-09 00:16
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
得分:3 
以下是引用设计大师的路在2012-12-9 00:16:29的发言:

怎么输入嘛,告诉我啊,我不是天才,不教就自动会的啊。


int x;
scanf("%d",&x);

float x;
scanf("%f",&x);

这样啊
2012-12-09 00:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
整数数组,你除了逐个数据读入之外没有其他简单办法,写一个循环逐个[i]地读。4个函数,一个是读数据,一个是max(),一个是min(),一个求average(),不要把这些不同的功能都混合在一段函数中写,这是这个编程题目要求你用函数的根本目的。凡是试图在一段代码中囊括所有功能的“简洁”写法,都是害了你。

授人以渔,不授人以鱼。
2012-12-09 00:29
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
得分:3 
#include<stdio.h>
float text(float n,float score[]); //函数声明,你们老师让你们放在main中的??????????????

int main()
{
/*定义变量后要赋值,这个习惯最后现在就养成*/
    float n = 0.0;
    float score[100] = {0.0};
    int i = 0;
    int j = 0;
    float m = 0.0;
    float mi = 0.0;
    float av = 0.0;
/*数组输入,这个需要for循环*/

    for(i = 1;i <= n;i++)
    {
        for(j = 0;j <= n;j++)
        while(scanf("%f",&score[j])!=EOF)//这种方式我确实没见过
        {
            m=max(score);//这是函数吧,你的定义呢?声明呢?
            mi=min(score);//这是函数吧,你的定义呢?声明呢?
            av=average(score);//这是函数吧,你的定义呢?声明呢?

            printf("max=%.1f min=%.1f average=%.1\n",m,mi,av);
        }
    }
    return 0;
}

float text(float n,float score[])
{
    float i,max,min,average,j,sum=score[0];
    max=score[0];
    for(j=0;j<=n;j++)//for 循环这个建议你不管多小都要加{}
        if(score[j]>max)//if这个建议你不管多小都要加{}
         max=score[j];
        return max;
        min=score[n];
    for(j=n;j>=0;j++)
        if(score[j]<min)
            min=score[j];
        return min;
   for(j=0;j<=n;j++)
       sum=sum+score[j];
   average=sum/n;
   return average;
}

2012-12-09 00:31
georgeliuyan
Rank: 2
等 级:论坛游民
帖 子:8
专家分:18
注 册:2010-11-13
得分:3 
你的数组下标是float类型,肯定有问题啊
2012-12-09 00:32
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
得分:0 
你自定义函数的用法我看不太懂,然后看你的两个for循环也没想明白题是怎么输入的

我是按先输入n表示有几组数据,然后再每组输m表示有几个数,再就输数。

程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    int n,i,j;
    float m,temp,max,min,average,sum;
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        scanf("%f",&m);
        scanf("%f",&temp);
        max=min=sum=temp;
        for(j=1;j<m;j++)
        {
            scanf("%f",&temp);
            max=max>temp?max:temp;
            min=min>temp?temp:min;
            sum+=temp;
        }
        average=sum/m;
        printf("max=%.1f,min=%.1f,average=%.1f",max,min,average);
    }
    return 0;
}
2012-12-09 00:38
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
得分:0 
回复 7楼 daniel_
我错了,我重新去温习函数部分的知识。知道了,以后注意加符号就是了。谢谢指点。
2012-12-09 00:53



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




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

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