C语言题目求解!高手帮帮忙!

来源:百度知道 编辑:UC知道 时间:2024/06/30 21:43:57
为了描述股票的运行趋势,计算最近M天中每连续N天的平均价格,例如总天数M=6,需求平均天数N为5时,1日—5日的平均,2日—6日平均!
请帮忙更改我的代码,运行环境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