似乎没有跑.好吧,平均模块

  • 本文关键字:模块 好吧 c++
  • 更新时间 :
  • 英文 :


我尝试运行它,但它没有做它应该做的事情。我预计 15.53,但得到 0。我不确定错误在哪里,有人可以帮助我。

1( 编写一个主模块,并在其中声明并完全初始化一个由 15 个整数组成的本地数组、一个由 20 个字符(不是字符串(组成的局部数组和一个由 10 个浮点数组成的局部数组。使用不同的值来初始化每个数组(不要使用 0、空格或重复任何值(。此外,请确保三个数组中每个数组中的值都按排序顺序排列(按升序排序(。

2(编写一个名为Display的模块,该模块将整数值数组和数组大小作为参数,然后以整洁的格式在屏幕上输出数组的内容。数组中的每个值必须用单个空格分隔。例如 10 20 30...

3( 在主模块中,调用 Display 函数并使用它来显示您之前声明和初始化的 15 值整数数组的内容。

4(编写一个名为AVERAGE的模块,该模块将整数值数组和数组大小作为参数,然后计算并返回这些值的平均值。随意在答案中使用递归或迭代。还要记住声明函数原型。

5( 在主模块中,调用 AVERAGE 函数并使用它来计算您之前声明和初始化的 15 值整数数组的平均值,然后显示结果。返回的结果来自功能将显示在主模块中,而不是在函数中。

#include<stdio.h>
void display(int[] ,int );    
float average(int[], int );
void main()
{   
  float avg;
  int lego[15]={2,4,6,8,10,12,14,16,18,20,22,24,26,28,30};
  char muzik[20]=
    {'a','b','c','d','e','f','g','h','i','j',
     'k','l','m','n','o','p','q','r','s','t'};
  float blu[10]={'1.2','1.3','1.4','1.5','1.6','1.7','1.8','1.9','2.0','2.1'};
  display(lego,15);
  average(lego,15);
  avg=average(lego,15);
  printf("Average = %.2f",avg); 
}

void display(int lego[], int Se)
{
    int w;
    for(w=0;w<Se;++w)
        printf("%d ",lego[w]);
}

float average(int lego[], int b)
{
    int s, sum=0;
    float avg;
    for(s=0;s<b;++s) 
    {
        sum+=lego[s];
    }
    avg=sum/b;
    return avg;
}

这一行是一个问题:

printf("Average = %.2f",avg);

格式字符串%.2f告诉printf()期望一个float值,但您传递的是int

您可以将avg更改为float变量,但还需要更改average()函数以执行float数学运算并返回float结果。

最新更新