| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2489 人关注过本帖
标题:4个数从小到大排序
只看楼主 加入收藏
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
很简单,可以先用一个for循环,将数全部输入一个数组中,然后再用排序法进行排序,将数从大到小或者从小到大赋值到另一个数组中,再将数组输出就行了



我了个去的编程!
2012-12-25 15:00
龚卿
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-12-25
收藏
得分:0 
没懂。。。。
2012-12-25 15:11
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:15 
不知道楼主你想要怎么样的代码,我是这样想的,不知道合不合适你的想法?
#include<stdio.h>
int main()
{
    int a[4];
    int i,temp;
    printf("请输入四个数:\n");
    for(i=0;i<4;i++)
        scanf("%d",&a[i]);
    for(i=0;i<3;i++)
    {
       if(a[i+1]<a[i])
       {temp=a[i+1];a[i+1]=a[i];a[i]=temp;}
    }
    printf("排序后的数字如下:\n");
    for(i=0;i<4;i++)
        printf("%3d",a[i]);
    printf("\n");
    return 0;
}

思考赐予新生,时间在于定义
2012-12-25 15:11
龚卿
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-12-25
收藏
得分:0 
你的运行出来不对吧?
2012-12-25 15:18
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
#include<stdio.h>
int main()
{
    int a[4];//定义一个数组
    int i,temp;//定义一个temp变量,用来交换值的
    printf("请输入四个数:\n");
    for(i=0;i<4;i++)
        scanf("%d",&a[i]);
    for(i=0;i<3;i++)
    {
       if(a[i+1]<a[i])         //如果后面的那个数a[i+1]小于前面的那个数a[i],就执行交换,先将大数a[i+1]的值放在temp变量中,然后将小数a[i]的值放在a[i+1]中,   
       {temp=a[i+1];a[i+1]=a[i];a[i]=temp;} //然后将temp的值交给a[i];这样就实现了大数与小数之间的交换,con哦个人达到由小到大的排序了  
    }
    printf("排序后的数字如下:\n");
    for(i=0;i<4;i++)
        printf("%3d",a[i]);
    printf("\n");
    return 0;
}

思考赐予新生,时间在于定义
2012-12-25 15:18
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:0 
以下是引用love云彩在2012-12-25 15:11:40的发言:

不知道楼主你想要怎么样的代码,我是这样想的,不知道合不合适你的想法?
#include
int main()
{
    int a[4];
    int i,temp;
    printf("请输入四个数:\n");
    for(i=0;i<4;i++)
        scanf("%d",&a);
    for(i=0;i<3;i++)
    {
       if(a
你这个程序应该只是找出了最大的数,并没有排序,冒泡法应该是两个for循环的嵌套吧

我了个去的编程!
2012-12-25 15:19
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
以下是引用龚卿在2012-12-25 15:18:39的发言:

你的运行出来不对吧?

没有啊,我的代码运行是完全正确的啊,我已经试过了啊,你可以随便输入任何四个数字来排序的

思考赐予新生,时间在于定义
2012-12-25 15:19
cwds
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:23
专家分:134
注 册:2012-6-17
收藏
得分:0 
ls的接近答案了,不过在排序的时候只进行了第一遍排序,也就是说排序不彻底。要在for(i = 0; i < 3; i++)外层添加一层for循环,这样就变成冒泡排序了。这种冒泡排序是最简单的一种。排序其实有很多更好的算法思路的。
2012-12-25 15:21
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
oh oh no no ,不好意思,看走眼了,代码是错的,再稍等一会,我再修改一下

思考赐予新生,时间在于定义
2012-12-25 15:23
龚卿
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-12-25
收藏
得分:0 
你们都学C语言多久啦?
2012-12-25 15:24
快速回复:4个数从小到大排序
数据加载中...
 
   



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

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