使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。函数func(int A[NUM],int n)实现的功能是将数组的内容进行一次重新排序。排序的方法是:给定n,则下标为i的数字与下标为n.i的数字交换。

admin2015-05-30  35

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。函数func(int A[NUM],int n)实现的功能是将数组的内容进行一次重新排序。排序的方法是:给定n,则下标为i的数字与下标为n.i的数字交换。从0开始,交换N/2次,则最后的内容为排序后的结果。
  如果:A[8]={1,2,3,4,5,6,7,8},n=6,则结果:A[8]={7,6,5,4,3,2,1,8}。
    注意:不能修改其他代码。
    1    #include
    2  #define NUM 8
    3  void func(int A[NUM],int n)
    4    {
    5
    6    j
    7    int main()
    8  {
    9    int A[NUM]=(1,2,3,4,5,6,7,8);
    10    func(A,6);
    11    for(int i=0 ; i    12    {
    13    cout<<<’ ’  ;
    14    }
    15    cout<    16    return 0 ;
    17    }

选项

答案1 for(int i=0 ; i
解析 func()函数完成对数组内容的重排,下标为i的数字与下标为n.i的数字交换,可以用循环来实现。
    [解题思路]
    (1)用循环来实现该过程,题目要求从0开始,交换N/2次,因此循环变量i的范围从0变化到N/2。
    (2)下标为0的元素与下标为n的元素交换,下标为1的元素与下标为n.1的元素交换,依此类推,在循环体内,用一个临时变量记录第一个元素,然后将第二个元素赋值给第一个元素,临时变量值赋给第二个元素,如此完成两个元素的交换。
转载请注明原文地址:https://kaotiyun.com/show/JJNp777K
0

最新回复(0)