为了方面查看数组的变化,在这里使用了顺序数组,可以直观查看数组的变化。
程序代码:
#include<stdio.h>
#include<windows.h>
void init(int *arr, int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
arr[i] = 0;
}
}
void empty(int *arr, int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
arr[i] = 0;
}
}
void reverse(int *arr,int sz)
{
int tmp = 0;
int i = 0;
for (i = 0; i < sz/2; i++)
{
tmp = arr[i];
arr[i] = arr[sz - i-1];
arr[sz - i-1] = tmp;
}
}
int main()
{
int arr[3] = { 1, 2, 3 };
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < sz; i++)//把原来的数组打印一遍
{
printf("%d", arr[i]);
}
printf("\n");
init(arr,sz); //初始化数组
for (i = 0; i < sz; i++)//打印初始化了的数组
{
printf("%d",arr[i]);
}
printf("\n");
for (i = 0; i < sz; i++)//把原来的数组打印一遍
{
arr[i] = i + 1;
printf("%d", arr[i]);
}
printf("\n");
empty(arr,sz); //重置数组
for (i = 0; i < sz; i++)//打印重置以后的数组
{
printf("%d", arr[i]);
}
printf("\n");
for (i = 0; i < sz; i++)//把原来的数组打印一遍
{
arr[i] = i + 1;
printf("%d", arr[i]);
}
printf("\n");
reverse(arr,sz); //逆置数组
for (i = 0; i < sz; i++)//打印逆置以后的数组
{
printf("%d", arr[i]);
}
printf("\n");
system("pause");
return 0;
}