第一题
创建一个整形数组,完成对数组的操作
1.实现函数Init()初始化组为全0
2.实现 print()打印数组的每个元素
3.实现reverse()函数完成数组元素的逆置
//初始化
void Init(int arr[], int sz) {
for (int i = 0; i < sz; ++i) {
arr[i] = 0;
}
}
//打印
void Print(int arr[], int sz) {
for (int i = 0; i < sz; ++i) {
printf("%d ", arr[i]);
}
}
//y
void Reverse(int arr[], int sz) {
int left = 0;
int right = sz - 1;
int temp;
while (left < right) {
temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
int main() {
int arr[10];
Init(arr, sizeof(arr) / sizeof(arr[0]));//初始化
Print(arr, sizeof(arr) / sizeof(arr[0]));//打印
printf("\n");
int arr2[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Reverse(arr2, sizeof(arr2) / sizeof(arr2[0]));
Print(arr2, sizeof(arr2) / sizeof(arr2[0]));
return 0;
}
第二题
将数组A中的内容和数组B中的内容进行交换。(两个数组一样大)。
void Print(int arr[], int sz) {
for (int i = 0; i < sz; ++i) {
printf("%d ", arr[i]);
}
}
void Change(int* arr1,int* arr2,int sz){
int temp;
for (int i = 0; i < sz; ++i) {
temp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = temp;
}
}
int main(){
int arr1[]={1,3,5,7,9};
int arr2[] = {2,4,6,8,0};
int sz = sizeof(arr1)/ sizeof(arr1[0]);
Change(arr1,arr2,sz);
Print(arr1,sz);
printf("\n");
Print(arr2,sz);
}