创建一个数组,
实现函数init()初始化数组、
实现empty()清空数组、
实现reverse()函数完成数组元素的逆置。
要求:自己设计函数的参数,返回值。
既然是创建一个数组,那么就要用到他的size,所以我用在主函数中算出了他的sz,最后将初始化数组、清空数组、逆置数组函数创建好后,最后要在主函数中打印结果。
其中在初始化和清空数组中,因为是知道它的sz,所以我用了for循环,这样就能将每一个元素初始化,清空;在元素逆置中,我用了while循环,其中创建了变量,用来实现左右两边的交换,这样就能准确,快速的完成题目所需。
#include <stdio.h>
#include <math.h>
void init(int *arr1,int len)
{
int i = 0;
for (i = 0; i < len; i++)
{
arr1[i] = 1;
}
}//初始化
void empty(int *arr2, int len)
{
int i = 0;
for (i = 0; i < len; i++)
{
arr2[i] = 0;
}
}//清空数组
void reverse(int *arr3, int len)
{
int tmp = 0;
int left = 0;
int right = len - 1;
while (left<right)
{
tmp = arr3[left];
arr3[left]=arr3[right];
arr3[right] = tmp;
left++;
right--;
}
}//数组元素逆置
int main()
{
int arr[6] = { 1, 2, 3, 4, 5, 6 };
int n = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
reverse(arr, sz);
for (n = 0; n < sz; n++)
{
printf("%d", arr[n]);
}
printf("\n");
init(arr,sz);
for (n = 0; n < sz; n++)
{
printf("%d", arr[n]);
}
printf("\n");
empty(arr, sz);
for (n = 0; n < sz; n++)
{
printf("%d", arr[n]);
}
printf("\n");
return 0;
}