按下列公式计算S的值

PeaceLoop 2008-09-22 12:46:31
编程序按下列公式计算S的值:(其中n,x1,x2,…xn由键盘输入)
n
s = ∑ (xi-x0)2 (2是平方,x后面的是下标,x0是x1到xn的平均值。)
i=1

没看懂题目,也不明白这个公式的意思。谁给讲讲。
...全文
626 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
PeaceLoop 2008-09-22
  • 打赏
  • 举报
回复
会了,1楼30分,后面接分,每人5分。
aaajj 2008-09-22
  • 打赏
  • 举报
回复
∑ 表示累加求和

意识是:
(x1-x0)2 + (x2-x0)2 +....+(xn-x0)2
wuyu637 2008-09-22
  • 打赏
  • 举报
回复
1. 先求出x0, x0=(x1+....xn)/n

2. 一个n次for循环, s = (x1-x0)^2+(x2-x0)^2+....(xn-x0)^2;
zzhzhua 2008-09-22
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <math.h>

float Num(int n)
{
int i;
float sum = 0, ave = 0, val = 0;

float *arr = new float[n];
printf("Please input %d numbers to the array: ", n);
for(i=0; i<n; i++)
scanf("%f", &arr[i]);

for(i=0; i<n; i++)
{
sum += arr[i];
ave = sum/(i+1);
val += pow((arr[i]-ave), 2);
}

return val;
}

void main()
{
int num;
printf("Please input the value of num: ");
scanf("%d", &num);

float val;
val = Num(num);

printf("The sum of you want is: ");
printf("%f\n\n", val);
}

我认为根据题意应该是这样的。
yangkunhenry 2008-09-22
  • 打赏
  • 举报
回复

#include<stdio.h>
int main()
{
int xx[5];
int i;
double aver,sum=0.0,s=0.0;
puts("Please input five numbers:");
for(i=0;i<5;i++)
{
scanf("%d",&xx[i]);
sum+=xx[i];
}
aver=sum/5;
for(i=0;i<5;i++)
s+=(xx[i]-aver)*(xx[i]-aver);
printf("s=%lf\n",s);
return 0;
}
PeaceLoop 2008-09-22
  • 打赏
  • 举报
回复
回完14楼的就去加分了,后面的米了
mifeixq 2008-09-22
  • 打赏
  • 举报
回复
mifei@P-I-mi:~$ ./a.out
5
1.1
1.2
1.3
1.4
1.5
0.1mifei@P-I-mi:~$

  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Chiyer 的回复:]
那就接分:)
[/Quote]
o(∩_∩)o...
PeaceLoop 2008-09-22
  • 打赏
  • 举报
回复
没人了吧 我结贴了
mifeixq 2008-09-22
  • 打赏
  • 举报
回复
上段代码吧~~ 可以这样实现……

#include <stdio.h>

int main()
{
int n,i=0;
float s=0.0,sum=0.0;
float a[1000];
scanf("%d",&n);
int count=n;
while(count--)
{
float temp=0;

scanf("%f",&temp);
a[i++]=temp;
sum=sum+temp;
}
float ave=sum/n;
i=0;
while(i<n)
{
s=s+(a[i]-ave)*(a[i]-ave);
i++;
}
printf("%g",s);
return 0;
}
太乙 2008-09-22
  • 打赏
  • 举报
回复
jf~~
taojian_hhu 2008-09-22
  • 打赏
  • 举报
回复
这是概率里面求方差的公式啊
Teaerror 2008-09-22
  • 打赏
  • 举报
回复
接分

定义个数组,输入n定义输入几个数到数组,for循环输入数,累积求和,求平均值,for循环从s[0]开始把剪去平均值再平方存入元素并累积求和。注意一下要用n-1。
星羽 2008-09-22
  • 打赏
  • 举报
回复
再接
星羽 2008-09-22
  • 打赏
  • 举报
回复
那就接分:)
terminatorbin 2008-09-22
  • 打赏
  • 举报
回复
首先,题目要求先通过键盘输入n个数(x1,x2,x3,x4...xn)。
然后,求出这n个数的平均值x0.
n
s = ∑ (xi-x0)2 的意思是:s=(x1-x0)2+(x2-x0)2+(x3-x0)2+...+(xn-x0)2。
i=1
skyering 2008-09-22
  • 打赏
  • 举报
回复
学习!最讨厌的就是数学了。
waydream 2008-09-22
  • 打赏
  • 举报
回复
jf
wangdeqie 2008-09-22
  • 打赏
  • 举报
回复

//可以这么写
#include <stdio.h>

float Fun()
{
int n,i=0;
float temp,sum=0,s=0,average;
scanf("%d",&n);
float *arr=new float[n];
for (i;i<n;i++)
{
scanf("%f",&arr[i]);
sum+=arr[i];
}
average=sum/n;

for (i=0;i<n;i++)
s+=(average-arr[i])*(average-arr[i]);
return s;

}

int main()
{
printf("%f\n",Fun());

return 0;
}

69,375

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧