当前位置: 代码迷 >> C语言 >> C数组如何倒序?
  详细解决方案

C数组如何倒序?

热度:646   发布时间:2005-12-01 16:03:00.0
C数组如何倒序?
某a[5]={8,5,4,2,3}
输出 3,2,4,5,8
怎么做? 麻烦指点下 让我有个思路就可以
搜索更多相关的解决方案: 倒序  

----------------解决方案--------------------------------------------------------
如果 M是总数

序号为N的数 序号就变成了 M-N-1

m=5
n0->n4
n1->n3
n2->n2
n3->n1
n4->n0

^^ 思路之一
----------------解决方案--------------------------------------------------------

请问如果用循环了.....
我的想法是用FOR把值付给另一个数 然后在用FOR倒过来输出..
就是代码老失败..


----------------解决方案--------------------------------------------------------

只是想没有用的 写出来看看


main()
{int a[5]={8,5,4,2,3};
for(i=0;i<5;i++)
printf("%d\t",a[5-i-1]);
}

参考吧 ,看作是方法


----------------解决方案--------------------------------------------------------
注意:楼上的只是把数组中的元素倒着输出而本身数组中元素的顺序并没有倒着存储!
----------------解决方案--------------------------------------------------------
还有啊:
main()
{int a[5]={8,5,4,2,3};
for(i=0;i<5;i++)
printf("%d\t",a[5-i-1]);
}
这个程序中的i没有定义编译是会出错的!
----------------解决方案--------------------------------------------------------
5楼的,人家只是要求输出嘛
----------------解决方案--------------------------------------------------------

为什么这样不行
#include<stdio.h>
main()
{
int a[]={4,5,6,2,9};
int temp,i;
for(i=0;i<5;i++)
printf("%2d",a[i]);
printf("\n");
for(i=0;i<5;i++)
{
temp=a[i];
a[i]=a[5-i-1];
a[5-i-1]=temp;
}
for(i=4;i<=0;i--
)
printf("%2d",a[i]);
}
输出的还是原来的数组,没有倒置;那位给个解释?


----------------解决方案--------------------------------------------------------

8楼的temp没有定义
for(i=4;i<=0;i--
里面没有东西
数组到序
你只要到过来输出就可以了


----------------解决方案--------------------------------------------------------
main()
{
int a[5]={8,5,4,2,3};
int i;
for(i=0;i<5;i++)
printf("%d\t",a[5-i-1]);
}
main()
{
int a[5]={8,5,4,2,3};
for(i=5;i>0;i--)
printf("%d\t",a[i]);
}


----------------解决方案--------------------------------------------------------
  相关解决方案