1.将数组A的内容和数组B中的内容进行交换。(数组一样大)
2.创建一个整形数组,完成对数组的操作
实现函数Init()初始化数组全为0
实现print()打印数组的每个元素
实现reverse()函数完成数组元素的逆置
//2.创建一个整形数组,完成对数组的操作
//
//实现函数Init()初始化数组全为0
//
//实现print()打印数组的每个元素
//
//实现reverse()函数完成数组元素的逆置
void Init(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
arr[i] = 0;
}
}
void print(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
printf("%d\n");
}
//用函数迭代解
//void reverse(int arr[], int sz)
//{
//
// int left = 0;
// int right = sz - 1;
// while (left < right)
// {
// int tmp = arr[left];
// arr[left] = arr[right];
// arr[right] = tmp;
// left++;
// right--;
// }
//}
//用递归函数解
void reverse(int arr[], int left, int right)
{
if (left < right)
{
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
reverse(arr, left + 1, right - 1);
}
}
int main()
{
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz - 1;
print(arr, sz);//1 2 3 4 5 6 7 8 9 0
reverse(arr, left,right);
print(arr, sz);//0 9 8 7 6 5 4 3 2 1
Init(arr, sz);
print(arr, sz);//0 0 0 0 0 0 0 0 0 0
return 0;
}