| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1067 人关注过本帖
标题:关于数组排序
取消只看楼主 加入收藏
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
关于数组排序
关于数组排序的问题,实在是想不出来该怎么解决了,我也知道很简单的,
大家发表下意见。
我的要求是,给定一个数组,然后输入一个变量n控制数组中的前n个元素,让它们逆序排列输出;
我写的如下:
#include<stdio.h>
void main()
{
 int t,i,n,a[5]={1,2,3,4,5};
 scanf("%d",n);
 for(i=0;i<=n;i++)
 {t=a[n-i];
  a[i]=t;
  printf("%d",a[i]);
  }
 printf("\n");
}
输入3,它输出的结果是:4,3,3,4,到了(n+1)/2的地方不能还原为原来的值了。
如果把for语句里的那个条件换成i<(n+1)/2时,只能输出一半的结果,即输入3,输出的是4,3,后面的2,1不知道该用什么方法输出。
我主要是想用代换的方法解决这个问题,谢谢。

[ 本帖最后由 小赵q1 于 2011-10-2 02:36 编辑 ]
搜索更多相关主题的帖子: include 元素 
2011-10-02 01:39
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 2楼 Eg_a
能不能用代换的方法逆序输出呢?就是a[i]的值和a[n-i]的值互换;
2011-10-02 02:34
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 13楼 xiehou314159
我用的是turboc 2.0里面的程序最后没有加return 0的,都是void main().
2011-10-04 01:26
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 4楼 pauljames
你的方法没有用到代换,呵呵,不过没有要求的话,你的答案就是最简单明了的那种。
2011-10-04 01:39
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 5楼 TonyDeng
错了,这里的n代表的是数组的下标,下标是从0开始的,所以这里的n实际上是a[n].
2011-10-04 02:03
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 7楼 鸿飞冥冥
我试过加不加这行结果都一样,至少在上边的程序里是这样的,所以我才没有加
2011-10-04 02:04
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 8楼 lichuyang
你的程序和我的运行结果没有什么区别,还是被覆盖可,这是我新写的程序:
#include<stdio.h>
void main()
{
 int i,n,t,b[5],a[5]={1,2,3,4,5};
 scanf("%d",&n);
 for(i=0;i<n;i++)
   {t=a[n-i-1];
    a[n-i-1]=b[i];
    b[i]=t;
    printf("%d",b[i]);}
 printf("\n");
}

[ 本帖最后由 小赵q1 于 2011-12-18 20:37 编辑 ]
2011-10-04 02:58
快速回复:关于数组排序
数据加载中...
 
   



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

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