
将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8
int main()
{
int t,i,a[5] = {8, 6, 5, 4, 1};
for(i=0;i<2;i++)
{ t=a[i];
a[i]=a[4-i];
a[4-i]=t;
}
for(i=0;i<5;i++)
printf("a[i]=%d",a[i]);
return 0;
}
然后我想知道 a[i]=a[4-i];中的a[4-i]是什么意思,还有 for(i=0;i<5;i++)为什么i要小于5 展开
例:
#include<stdio.h>
int main()
{
char arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int i = 0;
int len = sizeof(arr) / sizeof(arr[0]);
int tmp = 0;
for (i = 0; i < (len/2); ++i) //进行len/2次交换
{
tmp = arr[9 - i];
arr[9 - i] = arr[i];
arr[i] = tmp;
}
for (i = 0; i < len; ++i)
{
printf(" %d ", arr[i]); //输出
}
return 0;
}
扩展资料
将一个数组中的值按照逆序重新存放
#include<stdio.h>
intmain()
{
inta[100];
intm;
inti=0,n=0,temp;
while(scanf("%d",&m)!=EOF&&n<100){
a[i++]=m;
n++;
}
i=0;
while(i<n/2){
temp=a[n-1-i];
a[n-1-i]=a[i];
a[i]=temp;
i++;
}
for(i=0;i<n;i++)
printf("%d",a[i]);
putchar(10);
return0;
}