(1)通过c语言实现init()函数初始化数组全为0;实现print()打印数组每个元素;实现reverse()函数完成数组逆置;
(2)数组交换。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void Init(char arr[], int sz)
{ //数组初始化
int i = 0;
for(i = 0;i < sz; i++)
{
arr[i] = 0;
}
}
void print(char arr[], int sz)
{ //数组打印
for (int j = 0; j < sz; j++)
{
printf("%d ", arr[j]);
}
printf("\n");
}
void reverse(char arr[],int sz)
{ //数组逆置
int left = 0;
int right = sz - 1;
while (left < right)
{
if (arr[left] < arr[right])
{
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
else
break;
}
for (int a = 0; a < sz; a++)
{
printf("%d ", arr[a]);
}
}
int main()
{
char arr[5] = { 1,2,3,4,5};
int sz = sizeof(arr) / sizeof(arr[0]);
reverse(arr, sz);
Init(arr,sz);
print(arr,sz);
return 0;
}
运行结果截图
(2)数组交换
通过for循环加入一个中间变量从而将数组交换。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int arr1[] = { 2,4,6,8,10 };
int arr2[] = { 1,3,5,7,9 };
int sz = sizeof(arr1) / sizeof(arr1[0]);
for (int a = 0; a < sz; a++)
{
int tmp = arr1[a];
arr1[a] = arr2[a];
arr2[a] = tmp;
}
return 0;
}
这个只是方法,结果并没有打印出来,用for循环即可。