S7-400怎么做五个数字的大小自动排列呢? 点击:410 | 回复:6



lanseyisheng

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 42回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2009年5月28日
发表于:2014-06-11 19:18:47
楼主

要求按一下按钮,任意五个数字,按从大到小方式排列,再按一次,从小到大排列!在线求!~




彩云之滇东北

  • 精华:21帖
  • 求助:5帖
  • 帖子:109帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2014-06-11 21:15:00
1楼

首先做一个按钮,初始值为0,按一下为1,在按一下为2,当它为1时执行从大到小排序,当它为2时,执行从小到大排序。执行完毕后再将2修改为0。

如果这五个是数据存放在DB1.DBW0—DBW8里面,可以使用如下程序:

   L    5

a1:   T     mw    8

     L     P#0.0

     LAR1  

     L     4

a2:   T     mw    10

     OPN   DB     5

     L     DBD [AR1,P#0.0]

     L     DBD [AR1,P#4.0]

// <R        

     >R                              

     JC    a3

     L     DBD [AR1,P#0.0]

     T     LD    20

     L     DBD [AR1,P#4.0]

     T     DBD [AR1,P#0.0]

     L     LD    20

     T     DBD [AR1,P#4.0]

a3:   +AR1  P#4.0

     L     mw    10

     LOOP  a2

     L    mw     8

     LOOP  a1

     BE    





t


  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:1000
  • 注册:2008年1月09日
发表于:2014-06-11 21:20:13
2楼

数据不多就不考虑效率了,先取5个中的最大值,然后再取剩下的4个中的最大值,以此类推即可,最好是用SCL编写,高级语言适用于算法编写

lanseyisheng

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 42回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2009年5月28日
发表于:2014-06-11 22:13:26
3楼

回复内容:

对:   数据不多就不考虑效率了,先取5个中的最大值,然后再取剩... 内容的回复!

谢谢!~

江湖混混-余辉

  • [版主]
  • 精华:53帖
  • 求助:44帖
  • 帖子:3351帖 | 28451回
  • 年度积分:603
  • 历史总积分:131640
  • 注册:2006年4月25日
发表于:2014-06-11 23:41:37
4楼

偶是小白  也来学习一下

sunhl

  • 精华:1帖
  • 求助:1帖
  • 帖子:8帖 | 35回
  • 年度积分:0
  • 历史总积分:150
  • 注册:2004年7月26日
发表于:2014-06-16 15:43:06
5楼

数据处理类的,最好是用SCL编写,高级语言适用于算法编写。5个数中比较出最大的,然后再在4个数中比较出最大的,依次推,就可以排列了。

阿里爷爷

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:507
  • 注册:2013年3月19日
发表于:2014-09-20 16:57:46
6楼

# include <stdio.h>

int main (void)

{

 int Sorting(int x,int y);

 int a = 1,b = 2,c = 3,d = 4,e = 5;

 int max;  

 max = Sorting(a,b);

 max = Sorting(a,c);

 max = Sorting(a,d);

 max = Sorting(a,e);  

 printf("max = %d\n%d,%d,%d,%d,%d\n",max,a,b,c,d,e);

 

 return 0;

}

int Sorting(int x,int y)

{

 int temp;

 if (x<y)

   {

     temp = y;

        y = x;

        x = temp;

    }

    return (temp);

}



热门招聘
相关主题

官方公众号

智造工程师