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

admin2016-10-28  25

问题 使用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}。
注意:不能修改其他代码。
#include<iostream.h>
#define NUM8
void func(int A[NUN],int n)
{

}
int main()
{
int A[NUN]={i,2,3,4,5,6,7,8};
func(A,6);
for(int i=0;i<sizeof(A)/sizeof(int);i++)
{
cout<<A<<’ ’;
}
cout<<endl;
return0;
}

选项

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

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

最新回复(0)