设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是

admin2021-06-15  36

问题 设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是

选项 A、for(i=0;i<n/2;i++)
{   t=x;
    x=x[n-i-1];
    x[n-i-1]=t;
}
B、 for(i=0;i<n;i++)
{   t=x;
    x=x[n-i-1];
    x[n-i-1]=t;
}
C、for(i=0;i<n/2;i++)
{   t=x;
    x=x[n-i+1];
    x[n-i+1]=t;
}
D、for(i=0;i<n/2;i+=2)
{   t=x;
    x=x[n-i-1];
    x[n-i-1]=t;
}

答案A

解析 本题使用for循环实现数组元素首尾倒置。A选项中控制变量上限为n/2,用变量t实现数下标值i与n-i-1的元素交换,使数组元素首尾倒置,从而实现从小到大排列,A选项正确。B选项控制变量上限为n,用变量t实现数下标值i与n-i-1的元素交换,当i=n/2时,已经实现数组首尾倒置,而继续运行至i=n,将再次将新的数组首尾倒置,与原数组相比没有发生变化,依然是从大到小排列,B选项错误。C选项数组越界,i=0时x[n+1]不存在,C选项错误。D选项控制变量每次加2,实现数组偶数下标值的元素首尾倒置,奇数下标值元素不变,不能实现整个数组从小到大排列,D选项错误。
转载请注明原文地址:https://kaotiyun.com/show/ZStp777K
0

最新回复(0)