概述
实现数组的倒置和归零,因函数最好能代表一个功能,又因为数组要多次打印观察变化,所以将打印也作为一个方法,循环打印数组和循环赋值归零是差不多的方式。
倒置的时候需要注意的是数组的元素个数要在主函数内进行计算,在函数内计算有许多的错误和漏洞,故而将元素个数作为一个参数传递给函数。因为数组的元素下标=元素个数-1;从最右边与最左边的元素开始进行定位然后交换,这和一道数组旋转的面试题有些许相似。
eqip.h:
#pragma once
#include<stdio.h>;
void fanshi(int arr[], int sz);
void print(int arr[], int sz);
void init(int arr[], int sz);
-------
eqip.c
#define _CRT_SECURE_NO_WARNINGS 1
#include "eqip.h"
void fanshi(int arr[],int sz){
int left = 0;
int right = sz - 1;
while (left < right) {
arr[left]=arr[left] ^ arr[right];
arr[right] = arr[left] ^ arr[right];
arr[left] = arr[right] ^ arr[left];
left++;
right--;
}
}
void print(int arr[], int sz) {
int i = 0;
for (i = 0; i < sz; i++) {
printf("%d ", arr[i]);
}
printf("n");
}
void init(int arr[], int sz) {
int i = 0;
for (i = 0; i < sz; i++) {
arr[i] = 0;
}
}
test.c
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9 };
int sz = sizeof(arr) / sizeof(arr[0]);
print(arr, sz);//打印
fanshi(arr, sz);//倒置
print(arr, sz);
init(arr, sz);//归零
print(arr, sz);
return 0;
}
最后
以上就是激情蛋挞为你收集整理的实现数组的倒置和归零的全部内容,希望文章能够帮你解决实现数组的倒置和归零所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复