求C++大神指点(要具体点,初学者)

要求编写函数intfun(int*max,int*min),Fn序列中正数个数作为函数返回值,max指向最大正数,min指向最小负数。main函数的定义如下:intmai... 要求编写函数int fun(int *max,int *min),Fn序列中正数个数作为函数返回值,max指向最大正数,min指向最小负数。
main函数的定义如下:
int main()
{ int m=1,n=0,c; //m存放最大值,n存放最小值,c为正数个数
c=fun(&m,&n);
cout<<"序列中正数的个数:"<<c<<endl;
cout<<"最大正数:"<<m<<" 最小负数:"<<n<<endl;
return 0;
}
F0=F2=1,F1=0,Fn=Fn-1-2Fn-2+Fn-3
n区间为[0,50]
展开
 我来答
cooke1234
2013-04-08 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3497万
展开全部
序列在哪里?代码里没有序列Fn啊。
追问
不好意思,F0=F2=1,F1=0,Fn=Fn-1-2Fn-2+Fn-3
n区间为[0,50]
追答
定义全局变量F[N}
#define N 20
int F[N];
初始化F[N]变量
F[0]=F[2]=1; F[1]=0;
for(i=3; i<N; i++) {F[i] = F[i-1] - 2*F[i-2] + F[i-3];}
fun函数
int fun(int * max, int * min)
{
int zhengshu = 0, zuida=0, zuixiao=0, i;
for(i=0; i<N; i++)
{
if (F[i]>0)
{
zhengshu++;
if (F[i]>zuida) zuida = F[i];
}
else if (F[i]<0)
{
if (F[i]<zuixiao) zuixiao = F[i];
}
}
*max = zuida; *min=zuixiao;
return zhengshu;
}
hannyhe
2013-04-08 · TA获得超过984个赞
知道小有建树答主
回答量:1607
采纳率:0%
帮助的人:655万
展开全部
创建一个数组,最简单的方法是创建一个全局变量

int Fn[6]=[3,-5,7,8,-2,1];
int fun(int *max,int *min)
{
max=Fn,min=Fn;
int count=0;
for(int i=0;i<6;i++)
{
if(*(Fn+i)>0) count++;
if(*(Fn+i)>0 &&> *max)
*max=Fn+i;
if(*(Fn+i)<0 &&<*min)
*min=Fn+i;
}
return count;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式