#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;
}