重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C语言中,并没有专门的求平均数函数。一般都是根据需要自行编写。
创新互联公司致力于成都网站建设、成都网站制作,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联公司,就选择了安全、稳定、美观的网站建设服务!
一、算法设计:
平均数需要先计算一组数的总和,然后除以总个数。
所以需要按照如下步骤进行:
1、确认元素个数及各个元素值;
2、遍历,累加各个元素;
3、除以个数,得到平均数;
4、输出结果。
二、参考代码:
以整型为例:
#include stdio.h
float ave(int *a, int n)
{
float s=0;
int i;
for(i=0;in;i++)//遍历。
s+=a[i];//累加。
s/=n;//计算平均数。
return s;//返回结果。
}
int main()
{
int a[5] = {2,6,8,9,3};//待计算数组。
printf("%f\n", ave(a,5));//调用函数,计算平均数并输出。
return 0;
}
注意:由于平均数涉及除法,所以一般平均数值并不是整数,所以需要用浮点数来存储平均数。
因为你在main()中的数组a 和你在函数ave(int x)中的数组a并不是同一个,这个是变量的作用域导致的
计算均值的时候,实际上用的是在ave(int x) 中新定义没有初始化的数组a
所以返回的均值就是随机数
改正:
#include stdio.h
float a[2][3], ave(int x);
void main()
{
int i, j;
for (i = 0; i 2;i++)
for (j = 0; j 2; j++)
scanf("%f", a[i][j]);
for (i = 0; i 2; i++)
a[i][2] = ave(i);
for (i = 0; i 2;i++)
for (j = 0; j 3; j++)
{
printf("%.1f ", a[i][j]);
if (j == 2) printf("\n");
}
}
float ave(int x)
{
float m = 0, z;
int n;
for (n = 0; n 2; n++)
m = m + a[x][n];
z = m / 2;
return z;
}
希望对你有帮助
解决方案1:
if(i%3==2)coutlt;lt;'\n';
解决方案2:
return av/(float)n;
解决方案3:
#includelt;iostreamgt;
using namespace std;
void input(int a[],int n)
{
for(int i=0;ilt;n;i++)cingt;gt;alt;igt;;
}
void output(int a[],int n)
{
for(int i=0;ilt;n;i++)
{
coutlt;lt;alt;igt;;
if(i%3==2)coutlt;lt;'\n';
}
}
float average(int a[],int n)
{
float av=0;
for(int i=0;i!=n;i++)av+=alt;igt;;return av/(float)n;
}
int main(){
const int n=10;
int a[n];
input(a,n);
output(a,n);
coutlt;lt;"平均值="lt;lt;average(a,n)lt;lt;'\n';
return 0;
}
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#includelt;文件名gt;
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#includelt;math.hgt;//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。
参数说明: a是一维浮点数数组,n是数组中的元素个数
下面的函数求a中元素的平均值,并返回。
float Average(float* a, int n)
{
int i;
float s = 0;
// 求和
for (i = 0; i n; i ++)
s += a[i];
s /= n; // 求平均
return s;
}
// 测试
void main()
{
float a[] = {2, 5, 4, 7};
float x;
x = Average(a, 4);
printf("平均值是:%f\n", x);
}
1、新建一个 求数组内所有元素的平均值项目。
2、添加一个 average.cpp 文件。
3、包含需要用到的各种头文件。
4、输入main函数。
5、定义一个double类型的数组arr[5]。
6、使用 for 循环求出arr数组的平均值。
7、运行程序,输出结果即可。
1、c=sum/10;
错了。不是4个数求平均值吗?应该c=sum/4;
2、printf("c
is%d");里面没有输出表列。应该printf("c
is%d",c);
3、如果不能整除,平均值c,和变量sum变量应该是实数型,float
c,sum;因为10/4=2,所以sum/4中的sum变量最好也是实数型。