lbluesky01 2014-11-28 01:27 采纳率: 0%
浏览 1893

C语言关于函数调用的一个问题

代码如下,不知道为什么达不到想要的效果
编程初学者,大一。谢谢指导!找了好久没发现问题
谢谢!

//输入5个班的成绩,计算各班的平均值,输出所有班中平均值最大的分数,以及所有人中最大的分数
//假设每个班不超过50人
#include
int i;
void f1(double a[],int x);
double f2(double a[],int x);
double f3(double a[],int x);

void main()
{
int s;
double Class[50],average[5],max[5],allaverage,allmax; //class中C大写否则与关键字冲突
for(i=0;i<5;i++)
{
printf("请输入%d班的学生人数:",i+1);
scanf("%d",&s);
printf("请输入学生成绩:\n");
f1(Class,s);
average[i]=f2(Class,s);
max[i]=f3(Class,s);

}
        //从5个班的最大平均分最高分里求整个年级的最大值
    allaverage=f3(average,5);
    allmax=f3(max,5);

    //输出
    printf("最高班级平均分为:%.2f\n",allaverage);
    printf("最高分为:%.2f\n",allmax);

}
//f1:输入各班成绩
//f2:求平均值
//f3:求最高分
void f1(double a[],int x)
{
for(i=0;i<x;i++)
scanf("%d",&a[i]);
}

double f2(double a[],int x)
{
double m;
for(i=0,m=0;i<x;i++)
m=m+a[i];
return m/x;

}

double f3(double a[],int x)
{
int max=0;
for(i=0;i<x;i++)
{

    if(a[i]>a[max])
        max=i;
    return a[max];
}

}

  • 写回答

8条回答

  • 隋宜 2014-11-28 01:48
    关注

    你只是调用f()函数,没有获取值;这样试试
    在调用函数的时候 double x=f();
    printf("%2f",x);
    试试看。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?