如何将数字翻转:
首先定义一个数组
int[] arr={1,3,5,6}
然后将所有数字翻转:
for(int i=0,j=arr.length-1;i<j;i++,j--){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
索引从0开始,i=0,所以j=arr.length-1;循环进行的条件是i<j (如果数组里的数字个数是偶数的话两两进行交换,如果是奇数 的话中间剩余一个不必交换),i++,j--
需要注意的是这里用的不是两个循环而是一个循环,二者i和j是同步变化的
但如果我们要用c写的话,需要用数组逆置的想法:
c中表示数组长度
sizeof(arr) / sizeof(arr[0])表示数组长度
下面的是逆置的核心部分:
#include <stdio.h>
int main()
{
int arr[4] ={1,3,5,6};
int i=0;
int j=sizeof(arr)/sizeof(arr[0])-1;
while(i<j){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
i++;
j--;
}
for(int i=0;i<4;i++){
printf("%d\n",arr[i]);
}
return 0;
}
其实主要就是进行交换,头尾互换,再第二位和倒数第二位互换......
上面是用while循环写得,也可以用for
都是可以的
对于数组长度的表示,c中也可以用strlen进行
不过我还没学到,闲了一定会了解一下的.