| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 522 人关注过本帖
标题:数组排序的问题
只看楼主 加入收藏
z450558237
Rank: 2
等 级:论坛游民
帖 子:48
专家分:11
注 册:2014-10-21
结帖率:55.56%
收藏
 问题点数:0 回复次数:5 
数组排序的问题
#include<stdio.h>

void main()
{
    int x[10]={12,24,35,46,57,68,79,88,93},b,i,t;
    printf("输入b的值:");
    scanf("%d",&b);
    x[9]=b;
    for(i=9;i>0;i--)
    {
        if(x[i]<x[i-1])
        {
            t=x[i];
            x[i]=x[i-1];
            x[i]=t;
        }
    }
    for(i=0;i<10;i++)
    {
        printf("%d\t",x[i]);
    }   
}  题目是在原来的X中插入一个数,按从小到大排列。
   为什么我输入任何值都最后输出都在最后一个??
2014-11-08 15:42
魑魅魍魉!
Rank: 3Rank: 3
来 自:亲爱MM肚子里!
等 级:论坛游侠
威 望:1
帖 子:61
专家分:149
注 册:2014-5-3
收藏
得分:0 
看这个

#include<stdio.h>

void main()
{
    int x[10]={12,24,35,46,57,68,79,88,93},b,i,t,j;
    printf("输入b的值:");
    scanf("%d",&b);
    x[9]=b;
    for(i=9;i>=0;i--)
    {
        for(j=9;j>=0;j--)
        if(x[i]>x[j])
        {
            t=x[j];
            x[j]=x[i];
            x[i]=t;
        }
    }
    for(i=0;i<10;i++)
    {
        printf("%d\t",x[i]);
    }   
}
2014-11-08 15:53
z450558237
Rank: 2
等 级:论坛游民
帖 子:48
专家分:11
注 册:2014-10-21
收藏
得分:0 
回复 2 楼 魑魅魍魉!
但是我本来就是已经从小到大排列好的啊,那个J的for语句可以省略吧
2014-11-08 16:02
z450558237
Rank: 2
等 级:论坛游民
帖 子:48
专家分:11
注 册:2014-10-21
收藏
得分:0 
回复 2 楼 魑魅魍魉!
为什么你加了个FOR对能正确排序了呢???

[ 本帖最后由 z450558237 于 2014-11-8 18:20 编辑 ]
2014-11-08 17:58
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
交换写错了

坚持----------------------------------唯一的道路
shit ! ! !
2014-11-08 19:05
魑魅魍魉!
Rank: 3Rank: 3
来 自:亲爱MM肚子里!
等 级:论坛游侠
威 望:1
帖 子:61
专家分:149
注 册:2014-5-3
收藏
得分:0 
回复 3 楼 z450558237
你原本那个也可以的,就是For循环语句里面的第三句(x[i]=t;)应改为(x[i-1]=t;)
2014-11-09 14:33
快速回复:数组排序的问题
数据加载中...
 
   



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

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