日系奥利奥 2022-05-02 18:03 采纳率: 84.2%
浏览 418
已结题

数组,指针,输入十个数字求方差

#include<stdio.h>
double fc (int *);
int j,i;
double m;
int main()
{ int a[10],p;
for(i=0,j=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0,j=0;i<10;i++)
{j+=a[i];
m=j/10;}
p=&a[10];
printf("%d\n",fc(p));
return 0;
}
double fc (int
p)
{ double z,m,q;
m=j/10;
for(q=0,i=0;i<10;i++,*p++)
q+=(p-m)(*p-m);
z=q/10;
return z;
}

写的把自己也绕进去了,我觉得自己的思路很对,不知道细节问题哪里错了 一直报错,但是又想运用指针,熟悉一下指针

  • 写回答

1条回答 默认 最新

  • 浪客 2022-05-02 19:19
    关注

    j要浮点数。
    m=j/10;提到for外面,不用每次都计算。

    p=&a[10]; 这个不要,直接给函数传a
    printf("%lf\n",fc(a)); //double用%lf输出。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月11日
  • 已采纳回答 5月3日
  • 创建了问题 5月2日