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

admin2018-10-23  24

问题 使用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<iostream.h>
2  #define NUM 8
3  void func(int A[NUM],int n)
4  {
5
6  }
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<sizeof(A)/sizeof(int);i++)
12    {
13    cout<<A<<’ ’;
14    }
15    cout<<end1;
16    return 0;
17  }

选项

答案1 for(int i=0;i<n/2;i++) 2 { 3 int temp=A[i];//交换 4 A[i]=A[n-i]; 5 A[n-i]=temp; 6 }

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

随机试题
最新回复(0)