1.初始化数组,首先用sizeof操作符求出你数组的大小,然后循环打印数组的元素。
void init(int arr[],int sz)
{
int i = 0;
printf("请初始化你的数组arr[5]:\n");
for (i = 0; i < sz; i++)
{
scanf_s("%d", &arr[i]);
}
printf("初始化后为\n");
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
2.清空数组,逐步把每一个元素赋值为零。
void empty(int arr[], int sz)
{
int i = 0;
printf("清空数组后为:\n");
for (i = 0; i < sz; i++)
{
arr[i] = 0;
}
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
3.逆置数组,将数组首元素和最后一个元素进行交换,依次进行,直到left与right相等。我们也可以让数组从最后一位向前递减。
void reverse(int arr[], int sz)
{
int i = 0;
int sum = 0;
printf("逆置后数组为:\n");
/*
int righ = 0;
int left = 0;
int right = sz - 1;
while (left < right)
{
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
*/
for (i = sz -1; i >=0; i--)
{
printf("%d ", arr[i]);
}
printf("\n");
}
4.合理应用do while循环,和switch case语句,使代码更加优化一些。
int main()
{
int input = 1;
int arr[5];
int sz = sizeof(arr) / sizeof(arr[0]);
init(arr,sz);
do
{
printf("选择1:清空数组\n");
printf("选择2:逆置数组\n");
printf("请选择\n");
scanf_s("%d",&input);
switch (input)
{
case 1:
empty(arr, sz);
break;
case 2:
reverse(arr, sz);
break;
default:
printf("请重新输入\n");
break;
}
printf("结束请输入:0,继续请输入:1\n");
scanf_s("%d", &input);
} while (input);
system("pause");
return 0;
}