| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1121 人关注过本帖, 1 人收藏
标题:逆序重放的问题
只看楼主 加入收藏
linsq
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-11-20
收藏(1)
 问题点数:0 回复次数:10 
逆序重放的问题
将一个数组中的值按逆序重新存放。eg:input 1,2,3,4,5,6 output:6,5,4,3,2,1
我编的这个为什么不能达到我要的结果呢?
#include<stdio.h>
{
main()
int a[6],i;
for(i=0;i<=5;i++)
scanf("%d",&a[i]);
for(i=5;i>=0;i--)
printf("%3d",&a[i]);
}

[此贴子已经被作者于2006-12-5 10:51:27编辑过]

搜索更多相关主题的帖子: 逆序 
2006-12-05 10:50
yelang7
Rank: 1
等 级:新手上路
威 望:1
帖 子:265
专家分:0
注 册:2006-11-3
收藏
得分:0 
你这样是把他反序输出来了,并没有对实际的数组进行反序存放.你看看这样是不是你要的答案.
#include<stdio.h>
{
main()
int a[6],i,j;
for(i=0;i<=5;i++)
scanf("%d",&a[i]);
for(i=0,j=5;i<=5;i++,j--)
{
a[i]=a[i]+a[j];
a[j]=a[i]-a[j];
a[i]=a[i]-a[j];
printf("%3d",&a[i]);
}
}

想象和行动一致,做最棒的 IT 人. http://yelang7.
2006-12-05 11:16
linsq
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-11-20
收藏
得分:0 
以下是引用yelang7在2006-12-5 11:16:02的发言:
你这样是把他反序输出来了,并没有对实际的数组进行反序存放.你看看这样是不是你要的答案.
#include<stdio.h>
main()
{int a[6],i,j;
for(i=0;i<=5;i++)
scanf("%d",&a[i]);
for(i=0,j=5;i<=5;i++,j--)
{
a[i]=a[i]+a[j];
a[j]=a[i]-a[j];
a[i]=a[i]-a[j];
printf("%3d",&a[i]);
}
}

第二个FOR语句的算法是怎么得出来的啊?
我输入1,2,3,4,5,6
结果是:—22—20—18—16—14—12—(中间那些横线也是输出的


2006-12-05 11:43
溪水
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2006-3-14
收藏
得分:0 

#include<stdio.h>
#include <fstream>
using namespace std;

main()
{


int a[6],i,j;
int temp;

for(i=0;i<6;i++)
scanf("%d",&a[i]);

for(i=5,j=0;i>(6/2-1);i--,j++)
{ temp=a[i];
a[i]=a[j];
a[j]=temp;

//printf("%3d",a[j]);
}

for(i=0;i<6;i++)
printf("%3d\n",a[i]);

}


菜鸟学习中.......
2006-12-05 12:02
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
以下是引用linsq在2006-12-5 10:50:38的发言:
将一个数组中的值按逆序重新存放。eg:input 1,2,3,4,5,6 output:6,5,4,3,2,1
我编的这个为什么不能达到我要的结果呢?
#include<stdio.h>
/* { */
main() {
int a[6],i;
for(i=0;i<=5;i++)
scanf("%d",&a[i]);
for(i=5;i>=0;i--)
printf("%3d",a[i]);
}


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-05 12:57
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
改的程序在楼上

注意:输出时无须写 '&';
函数括号在函数名,函数参数后;

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-05 12:58
linsq
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-11-20
收藏
得分:0 

啊?呵呵,太粗心了....


2006-12-05 13:20
linsq
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-11-20
收藏
得分:0 
以下是引用溪水在2006-12-5 12:02:34的发言:

#include<stdio.h>
#include <fstream>
using namespace std;

main()
{


int a[6],i,j;
int temp;

for(i=0;i<6;i++)
scanf("%d",&a[i]);

for(i=5,j=0;i>(6/2-1);i--,j++)
{ temp=a[i];
a[i]=a[j];
a[j]=temp;

//printf("%3d",a[j]);
}

for(i=0;i<6;i++)
printf("%3d\n",a[i]);

}

这个算法妙,利用对称交换。

但是假如是输入的个数是单数的话,就要改一下了。谢了。


2006-12-05 13:29
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 

有那必要吗?


菜鸟~~请多指教~~
2006-12-05 15:01
yelang7
Rank: 1
等 级:新手上路
威 望:1
帖 子:265
专家分:0
注 册:2006-11-3
收藏
得分:0 
对不起,上面写错了个地方,请原谅下........
main()
int a[6],i,j;
for(i=0;i<=5;i++)
scanf("%d",&a[i]);
for(i=0,j=5;i<=5;i++,j--)
{
a[i]=a[i]+a[j];
a[j]=a[i]-a[j];
a[i]=a[i]-a[j];
}
for(i=0;i<=5;i++)
printf("%3d",&a[i]);

i<=5 改为 i<(j+1)/2 就没有问题的了.

想象和行动一致,做最棒的 IT 人. http://yelang7.
2006-12-05 16:54
快速回复:逆序重放的问题
数据加载中...
 
   



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

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