10个变量D100,D101,D102,D103,D104,D105,D106,D107,D108,D109,对应10个标志号M100,M101,M102,M103,M104,M105,M106,M107,M108,M109,在10个变量比较,最大值置位对应的变量。这个要是用C语言功能块怎么实现呢?用梯形图写的话每比较一次都要写一次篇幅太大,所以想用C来简化下
10个变量D100,D101,D102,D103,D104,D105,D106,D107,D108,D109,对应10个标志号M100,M101,M102,M103,M104,M105,M106,M107,M108,M109,在10个变量比较,最大值置位对应的变量。这个要是用C语言功能块怎么实现呢?用梯形图写的话每比较一次都要写一次篇幅太大,所以想用C来简化下
冒泡算法写,你这个输入输出都是对应排列的比较好写!
谢谢
没必要非要用 泡泡排序, 用C语言做个简单的比较功能块即可
C语言简单的比较即可实现。用一个循环,比较9次即可。
数据个数输入: W[0]
数据(整数)起始地址: W[1]
例:
TDSS D0 M0
数据个数: D0=3
数据输入: D1=2, D2=8, D3=4
结果显示: D1=2, D2=4, D3=8
**************************************************************************/
void TDSS( WORD W , BIT B )
{
short i;
short m;
short n;
for(i=W[0];i>1;i--)
{
for(m=1;m<i;m++)
if(W[m]>W[m+1])
{
n=W[m];
W[m]=W[m+1];
W[m+1]=n;
}
}
}
信捷中有现成的C块,从小到大排列