c++

作者在 2011-06-25 09:53:05 发布以下内容
#include<iostream.h>
#include<math.h>
#include "shengming.h"
   
double cor1(int [],double ,double ,int );
void main()
{
 int t[],n=0,q=0;
 double a,b,mx,my;
 input (t,n,q);
 mx=mx(n);
 my=my(t,n);
 b=bt(t,n,mx,my);
 a=at(mx,my,b);
 output(t,n,a,b,q);
 cout<<"  预测1995年的人均寿命y为: "<<fun(a,b,1995,q)<<endl;
 switch (int cor)
 {
  case 0
   cout<<" 这条直线完全没有用处。   "<<endl;
  case 1
   cout<<" 这条直线完全符合实际情况。  "<<endl;
  if (int cor>0.81)
   cout<<" 这条直线能够符合实际情况。  "<<endl;
  else
   cout<<" 这条直线不能符合实际情况。  "<<endl;
 }
 double cor1(int t[],double my,double mx, int n)
 {
  double a1=0,b1=0,c1=0;
  for (int i=1;i<=n;i++)
  {
   a1+=(i-mx)*(t[i-1]-my);
   b1+=(i-mx)*(i-mx);
   c1+=(t[i-1]-my)*(t[i-1]-my);
  }
  a1=a1/n;
  b1=sqar(b1/n);
  c1=sqar(c1/n);
  double cor=a1/(b1*c1);
  retern cor;
 }
}
    void input (int t[] ,int n,int q)
 {
  int i;
  cout<<"   年"<<"\t"<<"   Xi"<<"\t"<<"   平均寿命(Yi)"<<endl;
  for (i=0;i<d;i++)
  {
   cout<<"   "<<a+i<<"   "<<i+1<<"   "<<;
   cin>>t[i];
   cout<<endl;
  }
 }
 void output (int t[],int n,double a,double b,int q)
 
 {
  double sum1=0,sum2=0,d,e;
  for (int i=0;i<n;i++)
   sum1+=t[i];
  d=sum1/n;
  for (i=0;i<n;i++)
   sum2+=(t[i]-d)*(t[i]-d);
  e=sqrt(sum2/n);
  cout<<"人均寿命的平均值为: "<<d<<endl;
  cout<<"人均寿命的均方差为: "<<e<<endl;
  cout<<"回归方程式为: Y="<<a<<"+"<<b<<"x"<<endl;
 }
 double mx(int n)
 {
  int i,sum=0;
  for (i=1;i<=n;i++)
   sum+=i;
  return sum/n;
 }
 double my(int t[],int n)
 {
  int i,sum=0;
  for (i=0;i<n;i++)
   sum+=t[i];
  return sum/n;
 }
 double at (double mx,double my, double b)
 {
  return my-b*mx;
 }
 double bt(int t[], int n,double mx,double my)
 {
  double c=0,d=0;
  for (int i=1;i<=n;i++)
  {
   c+=(i-mx)*(t[i-1]-my);
   d+=(i-mx)*(i-mx);
  }
  return c/d;
 }
 double fun(double a,double b,int x,int q)
 {
  return a+b*(x-q+1);
 }

 
 
 
 这个程序哪儿不对?为什么声明文件打不开?
 
文章评论,共0条
游客请输入验证码
文章归档
最新评论