| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 18276 人关注过本帖
标题:求详细讲解一下,.输入三个整数 x,y,z,请把这三个数由小到大输出这个题的详 ...
只看楼主 加入收藏
ytc2468
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-11-11
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:5 
求详细讲解一下,.输入三个整数 x,y,z,请把这三个数由小到大输出这个题的详细思路,本人小白一个。
#include "stdio.h"
int main()
{   
 int x,y,z,t;   
 scanf("%d%d%d",&x,&y,&z);   
 if(x>y)   
 {t=x;x=y;y=t;}/*交换x,y的值*/   
 //if(x>z)   
 //{t=z;z=x;x=t;}/*交换x,z的值*/   
 if(y>z)   
 {t=y;y=z;z=t;}/*交换z,y的值*/
 if(x>y)   
 {t=x;x=y;y=t;}/*交换x,y的值*/
 printf("small to big:%d %d %d\n",x,y,z);
}
搜索更多相关主题的帖子: include 
2014-11-11 10:40
书生等待
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:280
专家分:689
注 册:2013-2-22
收藏
得分:5 
一个思路:x 和y 比,把比较大的数给y,然后y和z比,把比较大的数给z
z就是最大的数,再把x和y比,较大的数给y
现在 x y z就有序了
你可以看看排序算法

[ 本帖最后由 书生等待 于 2014-11-11 11:16 编辑 ]
2014-11-11 11:14
Yhyc
Rank: 2
等 级:论坛游民
帖 子:25
专家分:33
注 册:2014-11-10
收藏
得分:5 
楼上那个的有点错!
因为x,z的大小没有比较!
if(x<y)
{
    if(z<y)
    {
           if(z<x)
            {
              printf("z<x<y");
             }
             else
            {
            printf("x<z<y");
            }
    }
    else
    {
    printf("x<y<z");
    }
}
else
{
    if(z<y)
    {
    printf("z<y<x");
    }
    else
    {
    printf(Y<z<x);
    }
}
2014-11-11 12:08
Yhyc
Rank: 2
等 级:论坛游民
帖 子:25
专家分:33
注 册:2014-11-10
收藏
得分:5 
有点错!!!!!
if(x<y)
{
    if(z<y)
    {
           if(z<x)
            {
              printf("z<x<y");
             }
             else
            {
            printf("x<z<y");
            }
    }
    else
    {
    printf("x<y<z");
    }
}
else
{
if(z<x)
   {
         if(z<y)
        {
            printf("z<y<x");
        }
        else
        {
            printf(Y<z<x);
        }
    }
    else
    {
    printf("y<x<z");
    }
}
2014-11-11 12:13
冰蓝羽若
Rank: 2
等 级:论坛游民
帖 子:19
专家分:24
注 册:2014-10-24
收藏
得分:5 
#include "stdio.h"
int main()
{   
int x,y,z,t;   
scanf("%d%d%d",&x,&y,&z);   
if(x>y)   
 {
   t=x;       // 借助变量t,将x,y互换,此时x就是最小值,后面原理相同
   x=y;
   y=t;
  }  
if(x>z)       //第二次互换后x是最小的(或最小之一)
  {
      t=z;     
      z=x;
      x=t;
  }  
if(y>z)   
  {
      t=y;      //第三次后即确定大小
      y=z;
      z=t;      
  }
printf("%d %d %d\n",x,y,z);
    return 0;
}相似原理两个瓶子,一杯是水,一杯是饮料,要将两瓶互换,需要第三个瓶当中介进行交换
2014-11-11 19:55
ygh1521
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-8-22
收藏
得分:0 
         更好的方法:
         Scanner sc = new Scanner(System.in) ;
        System.out.println("请输入第一个数 : ");
        int x = sc.nextInt() ;
        System.out.println("请输入第二个数 : ");
        int y = sc.nextInt() ;
        System.out.println("请输入第三个数 : ");
        int z = sc.nextInt() ;
         //x先与y比较
        if(x < y){
            x = x ^ y ;
            y = x ^ y ;
            x = x ^ y ;
        }
         //x再与z比较
        if(x < z){
            x = x ^ z ;
            z = x ^ z ;
            x = x ^ z ;
        }
        //y先与z比较   
        if(y < z){
            y = y ^ z ;
            z = y ^ z ;
            y = y ^ z ;
        }
        System.out.println(x + " : " + y + " : " + z);
        sc.close();
2017-08-22 21:45
快速回复:求详细讲解一下,.输入三个整数 x,y,z,请把这三个数由小到大输出这个 ...
数据加载中...
 
   



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

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