解题思路:对于数组中的元素,想要进行逆序,就需要将整个数组倒转过来,我们可以讲它们首尾进行交换,当交换到中间数时,整个数组就已经完成了逆序。循环是数组不可或缺的利器,首先,我们使用for循环来解决一下这道题目
#include <stdio.h>
#define N 10
// for循环
int main ()
{
int a[N] = {0,1,2,3,4,5,6,7,8,9};
int i;
int tmp; // 定义一个零时变量
for (i = 0; i < N/2; i++) // 利用循环,我们只需要依次遍历到数组中间
//的值就可以了
{
tmp = a[i]; // 实现前面的数依次与后面的数相互交换的过程
a[i] = a[N-i-1];
a[N-i-1] = tmp;
}
for (i = 0; i < N; i++)
{ // 将数组依次打印出来,就是我们逆序过的结果了
printf ("%d\n", a[i]);
}
return 0;
}
// 使用while循环解决这个问题
int main()
{
int a[N] = {0,1,2,3,4,5,6,7,8,9};
int min = 0; // 数组第一个元素的下标
int max = N-1; // 数组最后一个元素的下标
int tmp;
while (min < max) // 当最小值小于最大值时,说明还在中间数的两边,
// 需要进行交换
{
tmp = a[min];
a[min] = a[max];
a[max] = tmp;
min++; // 交换完一对数之后,我们就要进行下一对数的
// 交换,让最小值加一,最大值减一
max--;
}
int i;
for (i = 0; i < N; i++)
{
printf ("%d\n", a[i]);
}
return 0;
}
有心的同学是不是发现,数组里基本上都带有着循环,是的,数组就是一系列相同数的集合嘛,利用循环,我们就能一一的对数组中的每个数进行操作。数组还有许多许多的使用方法,不妨来动手试试,自己品味一下吧。