急问c语言中 y[j++]=x[i];x[i]=-1; 是什么意思啊?好多的机考填空题中都有这句 什么意思呢 谢谢大家了
帮忙举个例子谢谢哦我把题目写全一些这是一道机考填空题给定程序中函数fun的功能是;计算形参x所指数组中N个数的平均值,将所指数组中大于平均值的数据移至数组的的前部,小于等...
帮忙举个例子 谢谢哦 我把题目写全一些 这是一道机考填空题
给定程序中 函数fun的功能是;计算形参x所指数组中N个数的平均值,将所指数组中大于平均值的数据移至数组的的前部,小于等于平均值的移至所致数组的后部,平均值作为函数返回,在主函数中输出平均值和移动后的数据。
例如:46 30 32 40 6 17 45 15 48 26 平均值是30.500000
移动后输出的数据:46 32 40 45 48 30 6 17 15 26
#defin N 10
double fun(double *x)
{ int i,j; double s,av,y[N];
s=0;
for(i=o;i<N;i++) s=s+x[i];
/*********found*********/
av=s/n;
for(i=j=p;i<N;i++)
if(x[i]>av){
/*********found********/
y[j++]=x[i];x[i]=-1;}
for(i=0;i<N;i++)
/*********found*******/
if(x[i]!=-1)j[j++]=x[i];
for(i=0;i<N;i++)x[i]=y[i];
return=av;
} 展开
给定程序中 函数fun的功能是;计算形参x所指数组中N个数的平均值,将所指数组中大于平均值的数据移至数组的的前部,小于等于平均值的移至所致数组的后部,平均值作为函数返回,在主函数中输出平均值和移动后的数据。
例如:46 30 32 40 6 17 45 15 48 26 平均值是30.500000
移动后输出的数据:46 32 40 45 48 30 6 17 15 26
#defin N 10
double fun(double *x)
{ int i,j; double s,av,y[N];
s=0;
for(i=o;i<N;i++) s=s+x[i];
/*********found*********/
av=s/n;
for(i=j=p;i<N;i++)
if(x[i]>av){
/*********found********/
y[j++]=x[i];x[i]=-1;}
for(i=0;i<N;i++)
/*********found*******/
if(x[i]!=-1)j[j++]=x[i];
for(i=0;i<N;i++)x[i]=y[i];
return=av;
} 展开
4个回答
展开全部
for(i=j=p;i<N;i++)
if(x[i]>av){
y[j++]=x[i];x[i]=-1;} 就是 如果x[i]比平均数av大 那么就先放到数组y里面(从前往后的放)并将x[i]的值设为-1
for(i=0;i<N;i++)
if(x[i]!=-1)y[j++]=x[i]; 现在已经将x数组里面比平均属大的放到y里并且是左面,现在将x数组里比平均数小的放入y右边 (注应该是y[j++]而不是j[j++])
for(i=0;i<N;i++)x[i]=y[i]; 最后把数组y里的值传给x 那么x就排好顺序了
if(x[i]>av){
y[j++]=x[i];x[i]=-1;} 就是 如果x[i]比平均数av大 那么就先放到数组y里面(从前往后的放)并将x[i]的值设为-1
for(i=0;i<N;i++)
if(x[i]!=-1)y[j++]=x[i]; 现在已经将x数组里面比平均属大的放到y里并且是左面,现在将x数组里比平均数小的放入y右边 (注应该是y[j++]而不是j[j++])
for(i=0;i<N;i++)x[i]=y[i]; 最后把数组y里的值传给x 那么x就排好顺序了
展开全部
y[j++]=x[i];x[i]=-1;相当于
y[j]=x[i];x[i]=-1;j++
主要就是这个y[j++]这里的j++先取当前j的值,然后在运算后对j加上1
所以效果就和上面的一样
y[j]=x[i];x[i]=-1;j++
主要就是这个y[j++]这里的j++先取当前j的值,然后在运算后对j加上1
所以效果就和上面的一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
X[i]=-1是把大于平均数的数组都记为-1,目的是区分开那些不大于平均数的数组 这样的话 如果X[i]!=-1 那么就是小于平均数的那些 这样再做一个循环就把他们都赋值给Y数组了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fa
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询