c语言用指针求平均数,不知道那里错了,求指教

#include<stdio.h>
float ave(int *p,int n)
{
int i;
float sum=0;
float ave;
for(i=0;i<n;i++)
sum=sum+p[i];
ave=sum/n;
return ave;

}
void main()
{
int i,a[5],*p=a;
float av;
printf("输入数组的值");
for(i=0;i<5;i++)
scanf("%d",p[i]);
av=ave(a,5);
printf("平均数=%f",av);

}

scanf("%d",&p[i]);
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言用指针求平均数,不知道那里错了,求指教
scanf("%d",&p[i]);

急~c语言求平均数,不知道错在哪~~结果总是出错~谢谢了~
变量sum是int类型的 sum\/3是整除运算,所以平均值大多是错的,average=sum\/3;这句改成:average=sum*1.0\/3;或者改成 average=((double)sum)\/3;就行了

C语言求平均数。求帮我查下错误。
b=sum\/a[10];printf("最大数为%d\\n最小数为%d\\n平均数为%d\\n",max,min,b);} } 你这样试试。你的for循环里面每次都把a数组清零了。别忘记给满意哦!

我用C语言写了个求3个数的平均值,程序不知道哪出错了 请各位高手 帮忙...
void main(void){ double x,y,z;double a;printf("Enter x y z:\\n");scanf("%lf%lf%lf",&x,&y,&z);a=(x+y+z)\/3;printf("%lf",a);} 注意类型

c语言求十个数字的平均数,请问哪里错了
把int a[10],i=0,sum=0;改成两行:int a[10],i=0;和double sum=0;。把printf("平均数等于%d",sum);改成printf("平均数等于%f\\n",sum);。

用c语言求3行2列的平均数并且指出最大值在几行几列,那里错了?求指教...
学生的平均成绩是105.500000 学生的平均成绩是166.500000 计算学科的平均成绩 学科的平均成绩是128.666667 查找最高分数 99.000000 对应的学科是第3行,对应的学生是第1列 Press any key to continue include<stdio.h> void main(){ int i,j,maxi,maxj;float a[3][2];float max=a[0][0];...

我写的是C语言中求4个数的平均值的代码,哪里不对?
printf("%f",(a+b+c+d)\/4);\/\/输出的占位符(%f)错了;结果0.00000 a,b,c,d都是整型(int)除以4后的结果,依然是整型(int),占位符为%d;也可以这样 printf("%f",(float)((a+b+c+d)\/4));\/\/将结果的类型强制转换为浮点型(float)

C语言求3个整数的平均数,我编的哪里错啦!求解
printf("please input a,b,c");改成 printf("please input a,b,c\\n");输入数字(1 2 3)前不要回车,还有就是aver最好定义成float类型,不是整除的话就会错 望采纳

c语言程序编程,这个有什么问题? 为什么平均值是错误的?
求平均值这里不对 应该把sum = 0,写在for循环体外面 这样写造成的结果,计算的结果为每次累加的那个数除以10的值 所以这样写的平均值为,输入的最后一个数除以10

C语言 数组 指针 求平均值
1不用指针 去掉 p[i]=%a[i];和sum+=*p[i];两句 改为 sum+=a[i]2用指针,定义 int *p;p=a;for (i=0;i<10;i++){ sum+=*p;p++;}

相似回答
大家正在搜