| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 676 人关注过本帖
标题:四个函数嵌套调用,但出的点问题,请高手帮忙解答一下
只看楼主 加入收藏
枫流沙
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-10-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
四个函数嵌套调用,但出的点问题,请高手帮忙解答一下
#include "stdio.h"

void main()
{
 float S(int t);

 float H(int t);

 float Q(int t);

 float sum(int t);

 int P1,k,t,,N,x,u, K0,T,i;//P1是康复概率,T为共进行多少时间步,λ=x,μ=u,K0是平均度//

 float y1,y2,y3,y4,No;

 scanf("No=%d,P1=f%,K0=%d,T=%d",&No,&P1,&K0,&T);

 No=S(1)=No;

 H(t)=1;

 scanf("k=%d",&k);

 y1=S(t);

 y2=H(t);

 y3=Q(t);

 y4=sum(t);

 printf("%f,%f,%f,%f",y1,y2,y3,y4);


  
}
float S(int t)
{
   int T,x,k;  
    for(t=1;t<=T;t++)
   {
     S(t+1)=(1-x*k)*S(t)*Q(t)+P1*H(t);
   }

}

float H(int t)
{
   int T,x,k;
    for(t=1;y<=T;t++)
  {
     H(t+1)=(1-u)*H(t)+x*S(t)*Q(t)-P1*H(t);
  }

}

float Q(int t)
{
   int T,x,k;
    for(t=1;y<=T;t++)
   {
     Q(t)=sum(t)/K0;
   }

}
   
float sum(int t)
{
  int T,x,k;
    for(t=1;t<=T;t++)
  {
    sum(t)=sum(t-1)+k*H(t);
  }
}



出错处:
1>f:\程序\111\111\1111.cpp(13) : error C2059: 语法错误 : “,”
1>f:\程序\111\111\1111.cpp(17) : error C2065: “K0”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(17) : error C2065: “T”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(19) : error C2106: “=”: 左操作数必须为左值
1>f:\程序\111\111\1111.cpp(21) : error C2106: “=”: 左操作数必须为左值
1>f:\程序\111\111\1111.cpp(43) : error C2065: “P1”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(43) : error C3861: “Q”: 找不到标识符
1>f:\程序\111\111\1111.cpp(43) : error C3861: “H”: 找不到标识符
1>f:\程序\111\111\1111.cpp(51) : error C2065: “y”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(53) : error C2065: “u”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(53) : error C2065: “P1”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(53) : error C3861: “Q”: 找不到标识符
1>f:\程序\111\111\1111.cpp(61) : error C2065: “y”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(63) : error C2065: “K0”: 未声明的标识符
1>f:\程序\111\111\1111.cpp(63) : error C3861: “sum”: 找不到标识符
搜索更多相关主题的帖子: 解答 函数 嵌套 
2009-10-08 10:28
godbless
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:216
专家分:950
注 册:2009-7-24
收藏
得分:10 
很不幸,你还没从代数的阴影中走出来..

下面那个代表的是f(x)=ax+b 的形式么?

S(t+1)=(1-x*k)*S(t)*Q(t)+P1*H(t);
2009-10-08 10:39
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:10 
#include "stdio.h"
 
void main()
{  
float S(int t);
 
float H(int t);
 
float Q(int t);
 
float sum(int t);
 
int P1,k,t,,N,x,u, K0,T,i;//P1是康复概率,T为共进行多少时间步,λ=x,μ=u,K0是平均度//
 
float y1,y2,y3,y4,No;
 
scanf("No=%d,P1=f%,K0=%d,T=%d",&No,&P1,&K0,&T); //怎么没给t赋值,不需要吗?那么下面用到t时怎么处理?

No=S(1)=No;//怎么可以将一个数值赋给一个带有实参的函数呢,是函数返回一个值,不是将一个数赋给函数。

H(t)=1; //同上,怎么能将数字1赋给函数H(t)呢?
 
scanf("k=%d",&k);
 
y1=S(t); //没给t赋初值,那函数怎么调用,t当做多少来进行运算?

y2=H(t); //同上
 
y3=Q(t); //同上,
 
y4=sum(t); //同上,
 
printf("%f,%f,%f,%f",y1,y2,y3,y4);
 
 
   
}
float S(int t)
{
   int T,x,k;   
    for(t=1;t<=T;t++)  //你的t是形参,T成了一个变量,根本不知道T是多少,t<=T有什么意义呢?
   {
     S(t+1)=(1-x*k)*S(t)*Q(t)+P1*H(t); //是不是少了一个函数名称?  //p1成了变量,而且没事先定义
   }
 
}
 
float H(int t)
{
   int T,x,k;  
    for(t=1;y<=T;t++)   //你的t是形参,T成了一个变量,根本不知道T是多少,t<=T有什么意义呢?
  {
     H(t+1)=(1-u)*H(t)+x*S(t)*Q(t)-P1*H(t); //同上面的函数出错原因
  }
 
}
 
float Q(int t)
{
   int T,x,k;  
    for(t=1;y<=T;t++)   //同上,T的值不知。
   {
     Q(t)=sum(t)/K0; //
   }
 
}
     
float sum(int t)
{
  int T,x,k;  
    for(t=1;t<=T;t++) //同上
  {
    sum(t)=sum(t-1)+k*H(t);
  }
}
好好搞清楚实参和形参的区别。其实你的出错分析已经说的很明白了。
2009-10-08 10:57
快速回复:四个函数嵌套调用,但出的点问题,请高手帮忙解答一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015918 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved