要求如下:
实现函数Append() 初始化数组为全0
实现Print() 打印数组的每个元素
实现Reverse() 函数完成数组元素的逆置。
void Append(int arr[],int len)
{
for (int i = 0; i < len; i++)
{
arr[i] = i + 1;
}
}
void Print(int arr[], int len)
{
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
}
void Reverse(int arr[], int len)
{
int i = 0;
int j = len - 1;
while (i < j)
{
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
printf("\n");
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
}
int main()
{
int arr1[10] = { 0 };
//给数组填入数字
int len = sizeof(arr1) / sizeof(arr1[1]);
Append(arr1,len);
//打印数组中的元素
Print(arr1,len);
//逆序打印数组中的元素
Reverse(arr1, len);
return 0;
}
总体思路:
1.首先初始化数字,为其中添加1-10的数,同时将它们一一打印出来
2.根据上图首先创建 i=0 j=len-1,用于显示数组的下标,然后使用while循环进行逆序操作,先创建一个tmp用于保存arr[0]的数据,即int tmp = arr[i],接着将arr[4]的数据变为arr[0]位置的数据,即arr[i] = arr[j],最后将tmp变为arr[4]位置的数据 ,即arr[j] = tmp。接下来同理进行,所以循环的条件就是i < j。