当前位置: 代码迷 >> C语言 >> 数组反转问题
  详细解决方案

数组反转问题

热度:87   发布时间:2007-04-16 19:47:30.0
数组反转问题

#include<stdio.h>

void main()
{
int a,b,s[5];
int x[1];
printf("请输入5个数字:");
for(a=0;a<5;a++)
{
scanf("%d",&s[a]);
}
for(b=0;b<a;b++,a--)
{
x[1]=s[a];
s[a]=s[b];
s[b]=x[1];
}
printf("反转后的数为:");
for(a=0;a<5;a++)
{
printf("%d",s[a+1]);
}
printf("\n");

}
哪错了?我在VC++上运行输入1 2 3 4 5怎么反转不过来啊?反过来的是5 4 3 2 3 为什么?

搜索更多相关的解决方案: 反转  void  int  main  

----------------解决方案--------------------------------------------------------
for(i=0;i<n/2;i++) //n为数组个数...
{
t=a[i]; //第一和最后对调...
a[i]=a[n-i-1];
a[n-i]=t;
}
----------------解决方案--------------------------------------------------------

把for()中的b<a,改成b>a
#include<stdio.h>
void main()
{
int a,b,s[5];
int x;
printf("shu ru wu ge shu:");
for(a=0;a<5;a++)
{
scanf("%d",&s[a]);
}
for(b=4,a=0;b>a;a++,b--)
{
x=s[a];
s[a]=s[b];
s[b]=x;
}
printf("fan zhuan hou:");
for(a=0;a<5;a++)
{
printf("%d\n",s[a]);
}
printf("\n");

}

[此贴子已经被作者于2007-4-16 21:14:12编辑过]


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

谢谢了!!!


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