重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
创新互联公司从2013年开始,是专业互联网技术服务公司,拥有项目成都网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元鸡冠做网站,已为上家服务,为鸡冠各地企业和个人服务,联系电话:13518219792
double average(int k[10] ); //有改动
void main()
{
int a[10],i;
double average1;
for(i=0;i10;i++)
scanf("%d",a[i]);
average1=average(a);
printf("%lf",average1);
}
double average(int k[10] ) //有改动
{
double sum=0;
int j;
for(j=0;j10;j++)
sum=sum+k[j];
return(sum/10);
}
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;
}
注意:由于平均数涉及除法,所以一般平均数值并不是整数,所以需要用浮点数来存储平均数。
求平均值
c语言标准库函数不提供该函数,这个函数是用户自定义的,用来求平均值的。
例如:
#include "stdio.h"
#define N 5
double a[N];
double average(){//就算数组a的平均值,并返回平均数
double sum=0;
int i;
for(i=0;iN;i++)
sum += a[i];
return sum/N;
}
int main()
{
int i;
double ave;
for(i=0;iN;i++)//数组赋值
scanf("%lf",a[i]);
ave = average();//求平均值
printf("%lf",ave);
return 0;
}
1、#includestdio.hint main()
2、{ int a,b,c; scanf("%d%d%d",a,b,c);
3、 int sum = a+b+c;
4、 printf("和: %d",sum);
5、printf("平均值:%f",sum/3.0);
6、return 0
讲解:
1、先定义四个整形。
2、一个浮点型保存平均值。
3、然后在控制台等待输入。
4、将输入的三个整数加起来赋值给sum。
5、将三个整形除以3.0(为什么是3.0,是因为ave是浮点型的,隐性转换到float)。
6、然后输出。
题目:计算键盘输入的整数的平均值。遇到输入数为负数时,结束程序,输出结果。
实现过程:
定义一个整形变量n,用来存储每次输入的整数
定义一个整形变量cnt,用来记录输入的整数的个数
定义浮点型变量sum保存整数的和,初始化为0.0
使用for循环,cnt为循环控制变量,输入一个整数n,若n0结束循环,否则将输入的数据n累加到sum中
如果cnt大于0,则输出平均值sum/cnt ;
参考代码:
#include stdlib.h
#define N 10
double fun(double x[],double *y)
{ int i,j; double av;
/**********found**********/
av=0;
/**********found**********/
for(i=0; iN; i++) av = av + x[i]/N;
for(i=j=0; iN; i++)
/**********found**********/
if(x[i]av) y[j++]= x[i];
y[j]=-1;
return av;
}
main()
{ int i; double x[N],y[N];
for(i=0; iN; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
printf("\n");
printf("\nThe average is: %f\n",fun(x,y));
for(i=0; y[i]=0; i++) printf("%5.1f ",y[i]);
printf("\n");
}