标题:已知函数头“void avg(void)”,函数的功能:输入十个分数,去掉最高分和 ...
只看楼主
krisdei
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-4-6
得分:0 
回复 10楼 自学的数学
那你挺厉害,,,
2018-04-22 13:15
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
得分:1 
#include<stdio.h>
#include<stdlib.h>
double avg(double *);
int main(void )
{
    int i;
    double a[10],x;
    for(i=0;i<10;i++)
        scanf("%lf",&a[i]);
    printf("平均值=%.1f\n",avg(a));
    system("pause");
    return 0;
}
double avg(double *a)
{  double max,min,sum=0.0,x;
    int i;
    max=a[0];
    min=a[0];
    for(i=0;i<10;i++)
    {
        if(max<a[i])
            max=a[i];
        if(min>a[i])
            min=a[i];
        sum+=a[i];
    }
    x=(sum-max-min)/8;
    return x;
   
}
我在你基础上改了下
2018-04-22 19:39
krisdei
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-4-6
得分:0 
回复 12楼 dzy123
老师说按题目要求做必须用这个函数void avg(void),望指导
2018-04-23 17:42
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
得分:1 
你老师的意思是avg参数表涉及到的变量为全局变量.
2018-04-23 17:46
krisdei
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-4-6
得分:0 
回复 14楼 童生
好,我上网查查
2018-04-23 17:50
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
得分:0 
以下是引用krisdei在2018-4-23 17:50:10的发言:

好,我上网查查

晕死
2018-04-23 18:10
晨阳、
Rank: 2
等 级:论坛游民
帖 子:44
专家分:20
注 册:2017-3-4
得分:1 
#include<stdio.h>
int main()
{
 void avg();
 avg();    //偷奸耍滑!
}
void avg()
{
  int integer,i,max,min,sum;
  max=-32768; /*先假设当前的最大值max为C语言整型数的最小值*/
  min=32767; /*先假设当前的最小值min为C语言整型数的最大值*/
  sum=0; /*将求累加和变量的初值置为0*/
  for(i=1;i<=10;i++)
    {
      printf("Input number %d=",i);
      scanf("%d",&integer); /*输入评委的评分*/
      sum+=integer; /*计算总分*/
      if(integer>max)max=integer; /*通过比较筛选出其中的最高分*/
      if(integer<min)min=integer; /*通过比较筛选出其中的最低分*/
    }
  printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);
  printf("Average score:%d\n",(sum-max-min)/8); /*输出结果*/
}
2018-04-23 18:12
chenhaiyuan
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2018-4-16
得分:1 
2018-04-23 18:49
dzy123
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:379
专家分:820
注 册:2013-4-18
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
void avg(void);
int main(void) {
    system("color F5");
    avg();
    printf("\n");
    system("pause");
    return 0;
}
void avg(void) {

    float score[10],sum=0.0,max=3.4E-38,min=3.40E+38;
    for(int i=0; i<10; i++) {
        scanf("%f",&score[i]);
        if(max<score[i])max=score[i];
        if(min>score[i])min=score[i];
        sum+=score[i];
    }

    printf("去掉最高分:%g",max);
    printf("去掉最低分:%g",min);
    printf("最终得分:%g",(sum-max-min)/8);

}无参数
2018-04-23 19:27
krisdei
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-4-6
得分:0 
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    void avg(void);
    avg();
    return 0;
}
void avg(void)
{  double max,min,sum=0.0,x,a[10];
    int i;
    printf("请输入十个分数:\n");
    for(i=0;i<10;i++)
        scanf("%lf",&a[i]);
    max=a[0];
    min=a[0];
    for(i=0;i<10;i++)
    {
        if(max<a[i])
            max=a[i];
        if(min>a[i])
            min=a[i];
        sum+=a[i];
    }
    x=(sum-max-min)/8;
    printf("平均值=%.1f\n",x);
    return;
   
}
经过各位答案的综合,做出了自己的答案。
谢谢了
2018-04-26 13:07



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




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

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