求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] 展开
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] 展开
2个回答
展开全部
序列在哪里?代码里没有序列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;
}
展开全部
创建一个数组,最简单的方法是创建一个全局变量
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询