#include <stdio.h>
#include <string.h>
//两数组元素互换
void swap(int ch1[],int ch2[],int sz)
{
int i = 0;
char ch = 0;
for(i = 0;i < sz;i++)
{
ch = ch1[i];
ch1[i] = ch2[i];
ch2[i] = ch;
}
}
//打印数组元素
void print(int ch[],int sz)
{
int i = 0;
for(i = 0;i < sz;i++)
printf("%d ",ch[i]);
printf("\n");
}
int main()
{
int ch1[] = {1,2,3,4};
int ch2[] = {5,6,7,8};
int i = 0;
int sz = sizeof(ch1) / sizeof(ch1[0]);
printf("交换前:\n");
printf("ch1:");
print(ch1,sz);
printf("ch2:");
print(ch2,sz);
swap(ch1,ch2,sz);
printf("交换后:\n");
printf("ch1:");
print(ch1,sz);
printf("ch2:");
print(ch2,sz);
system("pause");
return 0;
}
打印数组用的很多,重复写代码也没什么意义,不如封装成函数,在需要时直接调用。
整型数组,1.初始化数组元素为0 ,2.print(),打印数组每个元素 ,3.reverse(),数组元素逆置 , 4.输入数组元素
#include <stdio.h>
#include <string.h>
//1.初始化数组元素为0
void init(int arr[],int sz)
{
int i = 0;
for(i = 0;i < sz;i++)
arr[i] = 0;
}
//2.print(),打印数组每个元素
void print(int arr[],int sz)
{
int i = 0;
for(i = 0;i < sz;i++)
printf("%d ",arr[i]);
printf("\n");
}
//3.reverse(),数组元素逆置
void reverse(int arr[],int sz)
{
int left = 0;
int right = sz - 1;
int t = 0;
while(left < right)
{
t = arr[left];
arr[left] = arr[right];
arr[right] = t;
left++;
right--;
}
}
//4.输入数组元素
void arr_scanf(int arr[],int sz)
{
int i = 0;
for(i = 0;i < sz;i++)
scanf("%d",&arr[i]);
}
//整型数组,1.初始化数组元素为0,2.print(),打印数组每个元素,3.reverse(),数组元素逆置
int main()
{
int arr[4];
int sz = sizeof(arr) / sizeof(arr[0]);
init(arr,sz);
print(arr,sz);
arr_scanf(arr,sz);
print(arr,sz);
reverse(arr,sz);
print(arr,sz);
return 0;
}