标题:数组反转问题
只看楼主
kxfeng1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-3-30
 问题点数:0 回复次数:3 
数组反转问题

#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 
2007-04-16 19:47
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
得分:0 
for(i=0;i<n/2;i++) //n为数组个数...
{
t=a[i]; //第一和最后对调...
a[i]=a[n-i-1];
a[n-i]=t;
}

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-04-16 21:04
jd205
Rank: 2
等 级:论坛游民
帖 子:139
专家分:69
注 册:2006-10-26
得分:0 

把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编辑过]

2007-04-16 21:10
kxfeng1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-3-30
得分:0 

谢谢了!!!


我承认我是菜鸟!这是暂时不能改变的事实!
2007-04-16 21:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-132391-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.088667 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved