c语言 求平均数有什么函数?

Python013

c语言 求平均数有什么函数?,第1张

C语言中,并没有专门的求平均数函数。一般都是根据需要自行编写。

一、算法设计:

平均数需要先计算一组数的总和,然后除以总个数。

所以需要按照如下步骤进行:

1、确认元素个数及各个元素值;

2、遍历,累加各个元素;

3、除以个数,得到平均数;

4、输出结果。

二、参考代码:

以整型为例:

#include <stdio.h>

float ave(int *a, int n)

{

    float s=0

    int i

    for(i=0i<ni++)//遍历。

        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

}

注意:由于平均数涉及除法,所以一般平均数值并不是整数,所以需要用浮点数来存储平均数。 

求n个数平均数源程序如下:

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

int main(void)

{

int a[100] = { NULL }//初始化数组元素

int i = 0, n//定义循环变量和正整数变量n

float sum = 0.0//定义和变量为float型,注意计算的数据类型

float average = 0.0//定义平均数变量为float型,注意计算的数据类型

printf("Please input n (n<100) :")

scanf("%d", &n)//输入正整数n

printf("Please input %d integers:", n)//提示输入几个正整数

for (i = 0i <ni++)//循环输入元素

{

scanf("%d", &a[i])//输入整形变量

sum += a[i]//循环输入的时候同时进行求和

}

//for (i = n - 1i >= 0i--)

printf("the a[n] number: ")//倒叙输出数组元素

for (i = 0i <ni++)//循环输入元素

printf("%d ", a[i])//倒叙输出数组元素

printf("\n")

average = sum / (float)n//注意不同类型之间的计算,这里加了类型强制转换

printf("averge=%.2f\n", average)//输出平均数

return 0

}

程序运行结果如下

扩展资料:

其他实现方式:

#include <iostream>

int main()

{

int i

double sum = 0

int count = 0

scanf("%d", &i)

while (i != -1)

{

sum = sum + i

count++

scanf("%d", &i)

}

printf("%.2f", sum / count)

return 0

}

#include<stdio.h>

int main(void)

{

double x=0,z=0

int y=0

int y1=0

printf("请输入 10 个数,空格分开:")

for(y=0y<10y++)

{

scanf("%lf",&x)

if(z>=0)

{

z = z + x

y1++

}

getchar()

}

printf("平均数是: %.2lf \n",z/y1)

return 0

}