创建一个整形数组,完成对数组的操作
实现函数init() 初始化数组为全0
实现print() 打印数组的每个元素
实现reverse() 函数完成数组元素的逆置。
要求:自己设计以上函数的参数,返回值。
#include<stdio.h>
#include<string.h>
void init(int a[])
{
for (int i = 0; i < 10; i++)
{
a[i] = 0;
}
}
void print(int a[])
{
for (int i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
void reverse(int* a)
{
char temp = *a;//首元素存放好
*a = *(a + 9);//最后一个元素到首位
*(a + 9) = '\0';//最后一个元素等于\0,给定下次遍历的右范围
if (strlen((char*)a + 1) >= 2)
{
reverse(a + 1);//给定下次遍历的左范围
}
*(a + 9) = temp;//把当前的最后元素,也就是\0,替换成首元素
}
int main()
{
int a[] = { 1,2,3,4,5,6,7,8,9,10 };
reverse(a);
print(a);
init(a);
print(a);
return 0;
}