終于走上重拾C++之路了,很激動(dòng),希望自己能保持良好的心態(tài),學(xué)好它。
看的教材是錢能的《C++程序設(shè)計(jì)教程》,感覺不錯(cuò),點(diǎn)得很透。
其中有這么一題:
定義一個(gè)數(shù)組,分別為:6,3,7,1,4,8,2,9,11,5。請(qǐng)創(chuàng)建一個(gè)向量,把數(shù)組的初值賦給它,然后對(duì)該向量求標(biāo)準(zhǔn)差(均方差)。
先確實(shí)一下算法,求標(biāo)準(zhǔn)差可以這樣:
1、求出平均數(shù);
2、 然后算出每個(gè)數(shù)和平均數(shù)的差的絕對(duì)值的平方;
3、平方相加;再開方。
代碼如下:

int arr[]=
{6,3,7,1,4,8,2,9,11,5};
vector<int> list(arr,arr+10);
int pj = 0; //平均數(shù)
int count=0; //總數(shù)
double pfcount = 0;//平方和
for(int i=0;i<list.size();i++)
count+=list.at(i);
pj=count/list.size();


for(int i=0;i<list.size();i++)
{
int cha = abs(list.at(i)-pj);
cout<<"數(shù)"<<(i+1)<<":"<<list.at(i)<<" 差的絕對(duì)值:" << cha<<endl;
pfcount+=pow((double)cha,2); //離差平方和
}
pfcount=pfcount/list.size(); //離差平方和平均

cout<<"平均數(shù):"<<pj<<endl;
cout<<"標(biāo)準(zhǔn)差:"<<sqrt(pfcount)<<endl;