C语言题目求解!高手帮帮忙!
来源:百度知道 编辑:UC知道 时间:2024/06/30 21:43:57
请帮忙更改我的代码,运行环境VC6.0:
#include<stdio.h>
float Average(float a[],float b)
{
int i;
float sum=0;
for(i=0;i<=b;i++)
sum+=a[i];
return sum/b;
}
void main()
{
int M,i,s,j;
float N,avg;
float p[100];
float t[100];
printf("请输入M值:\n");
scanf("%d",&M);
printf("请输入N值:\n");
scanf("%f",&N);
if(M>N)
{
printf("输入该股票的价格\n");
for(i=0;i<=M;i++)
{
scanf("%f",&p[i]);
}
/*主要是以下这里不知道怎么嵌套*/
for(j=0;j<N;j++)
{
s=s+1;
for(s;s<M;s++)
{ p1[s]=p[s];
avg=Average(t,N);
printf("%f",avg);
}
}
}
else printf("输入错误,总天数M小于N");
}
下面一段代码是用来求均值的(简单平均和加权平均),其中类CStockPrice是从大智慧存盘数据中读到的股价链表,你可以参考一下,里面的内容有一些统计方差的计算,去掉就行了。
void CExtraWindowThread::FillVarianceAnalysis(bool IsWeightedMean, CListCtrl& ListCtrl, int nPeriod, int nIndex)
{
#define MAX_PERCENT 900
#define MIN_PERCENT 100
CStockPrice *pFirst = pHead;
CStockPrice *pCurPos = pHead;
int nAverage = 0;
UINT nPercent[MAX_PERCENT];
double nTotal = 0;
double nAverageDeviate = 0;
double nAbsDeviate = 0;
double nMaxDeviate = 0;
double nVariance = 0;
UINT j = 0;
UINT nPositiveSum = 0, nNegativeSum = 0;
double nCurrentDeviate = 0;
int nDenominator = 0;
if (IsWeightedMean == true)
{
for (int i = 1; i <= nPeriod; i ++)
nDenominator += i;
}
else
{
nDenominator = nPeriod;
}
memset(nPercent, 0, sizeof(nPercent));
while (pCurPos != NULL