c语言 求平均数有啥函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 求平均数有啥函数?相关的知识,希望对你有一定的参考价值。

1、首先我们打开我们的编译器,新建工程,文件后,写下我们的头文件和主函数。

2、具体程序代码如下:#include <stdio.h>,int main()int a,b,c,temp,smallest;float Average;printf("input three different numbers:")。

3、定义a、b、c来表示我们所要输入的三位不同的整数,temp表示求出最小值时的中间变值,Average表示我们所求的平均值,smallest表示我们最终要求出的最小值,分别定义给其分配空间。

4、Average=(a+b+c)/3 表示我们向计算机发出求出平均值的命令。指示计算机帮我们计算出这三个值的平均值。

5、前面我们定义smallest是整形,所以后面我们输出时也要必须与其对应,使用“%d”来完成它的输出。

6、最后,点击运行命令即可输出我们想要的结果了。

参考技术A

c语言函数库里面没有自定义函数,需要自行定义。

例:将较大的数减去较小的数,得到两数的相差多少,再将差值的一半给较小的数,这样两数就相等了。c的值永远不会超过intmax

intmain()

inta=10;

intb=5;

intc=a+(b-a)/2;

system("pause");

return0;

扩展资料

C语言求平均值

#include<stdio.h>

#defineINF1000000000

intmain()

#ifdefLOCAL

freopen("data.in","r",stdin);

freopen("data.out","w",stdout);

#endif

//FILE*fin,*fout;

//fin=fopen("data.in","rb");

//fout=fopen("data.out","wb");

intx,n=0,min=INF,max=-INF,s=0;

while(scanf("%d",&x)==1)

s+=x;

if(x<min)min=x;

if(x>max)max=x;

printf("x=%d,min=%d,max=%d\\n",x,min,max);

n++;

printf("%d%d%.3f\\n",min,max,(double)s/n);

return0;

参考技术B

c语言的中没有现成的求平均数函数,可以自己定义一个求平均数的函数

double Average(double s[],int n)

    if(n==0)return 0;
    double sum=0;
    for(int i=0;i<n;i++)sum+=s[i];
    return sum/n;

参考技术C double avg(double *num,int length)//传递一个浮点型的数组,和整型的数的个数

int i;
double sum=0.0;
for(i=0;i<length;i++)

sum+=num[length];

return sum/length;
参考技术D 看了你这程序,运用了指针和链表,应该学得很后了,应该很容易就会这个求平均值的函数的,这是我指出的问题:
1、结构体的声明应该在主函数外,这是一个编程习惯,便于其他函数的引用
2、但结构体变量的定义就应该在main里面例如:struct node *first,*p,*last;这样不会干扰其他函数的同名变量
3、其实大型的软件main里面只有界面的几句话,你建立链表的过程应该独立为一个函数比较好,不过你这程序比较简单就不必要
下面是我修改的程序:
#include
#include

struct node

int num;
char name[10];
int yuwen;
int shuxue;
int yinyu;
float pjf;//存储平均分
struct node *next;
;

float pjf(struct node *head);//声明求平均分函数

main()

struct node *first,*p,*last;
int count,i;
printf("输入学生数\n");
scanf("%d",&count);
p=(struct node*)malloc(sizeof(struct node));

printf("依次输入学生号、名字、语文、数学、英语\n");
scanf("\n%d\n%s\n%d\n%d\n%d",&p->num,&p->name,&p->yuwen,&p->shuxue,&p->yinyu);

p->next=NULL;
last=first=p;
for(i=1;i<count;i++)

p=(struct node*)malloc(sizeof(struct node));
scanf("\n%d\n%s\n%d\n%d\n%d",&p->num,&p->name,&p->yuwen,&p->shuxue,&p->yinyu);
p->next=NULL;
last->next=p;
last=p;


p=first;
printf("学生号\t名字\t语文\t数学\t英语\t平均分\n");
while(p!=NULL)

p->pjf=pjf(p);//调用求平均分的函数
printf("%d\t%s\t%d\t%d\t%d\t\%g\n",p->num,p->name,p->yuwen,p->shuxue,p->yinyu,p->pjf);
p=p->next;



float pjf(struct node *head)

float x=0;
struct node *p=head;
x=(p->shuxue+p->yinyu+p->yuwen)/3;
return(x);

c语言编程从输入的n个数中,去掉一个最大数和一个最小数,求剩余数的平均值。

要求简单易懂。

#include <stdio.h>

#include <malloc.h>

void main ()

int *p;

int NUM,i,temp,j,all;

float k;

    printf("how many numbers\\n");

    scanf("%d",&NUM);

p = malloc(NUM * sizeof(int));

    printf("input the numbers\\n");

    for(i=0;i<NUM;i++)scanf("%d",p+i);

for(i=0;i<NUM-1;i++)

for(j=0;j<NUM-1-i;j++)

if(*(p+j)>*(p+j+1))

//互换

temp = *(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)= temp;

    all=0;

for(i=1;i<NUM-1;i++)

temp=*(p+i);

all = all + temp;

k=(float)(all/(NUM-2));

printf("%d\\n",all);

printf("%f\\n",k);

vc6.0下调试通过

参考技术A 学海无涯苦作舟,乘风破浪未有时。学无止境,逆流而上 参考技术B #include "stdio.h"
int main()

int n, x;

double sum = 0;

int max = 0;

double avg;

int min = 1<<31;

scanf("%d", &n);

for (int i = 0; i < n; ++i)


scanf("%d", &x);

sum += x;

max = max >= x ? max : x;

min = min <= x ? min : x;



sum = sum - max - min;

avg = sum / n;

print ("avg = %lf, max = %d, min = %d\n", avg, max, min);

return 0;

追问

不能运行这个程序,有错误

追答

#include "stdio.h"
int main()

int n, x;
double sum = 0;
int max = 0;
double avg;
int min = 1= x ? max : x;//max 保存这N个数里面的最大值
min = min <= x ? min : x;//min保存这N个数里面的最小值

sum = sum - max - min;//去掉最大值和最小值
avg = sum / n;//求平均
printf ("avg = %lf, max = %d, min = %d\n", avg, max, min);//输出
return 0;


已经编译测试过可运行。

本回答被提问者和网友采纳

以上是关于c语言 求平均数有啥函数?的主要内容,如果未能解决你的问题,请参考以下文章

C语言利用函数调用求一组数的最大值,最小值,平均数。。。。。。急。。。。

怎样用C语言求平均数

编写c语言程序用三个函数求10个同学的平均分及成绩排序

C语言求平均值

c语言 求一组数的平均值及其均方差 写出程序,谢谢!

用C语言编程求平均值: