matlab编程的小问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 04:23:25
a=input('a=');
b=input('b=');
c=input('c=');
if a<b
t=a;a=b;b=t;

elseif a<c
t=a;a=c;c=t;
elseif b<c
t=b;b=c;c=t;
end
a
b
c
为什么运行的结果是错的呢?哪位高人能指点一下小弟。
a=12;b=13;c=14;
if a<b
t=a;a=b;b=t;

elseif a<c
t=a;a=c;c=t;
elseif b<c
t=b;b=c;c=t;
end
a
b
c
这样编写就可以运行,是怎么回事呢?

没有错误啊,你这个程序的执行过程是:如果a<b,交换a,b的值,执行完毕;否则,进入下一个判断,如果a<c,交换a,c的值,执行完毕;否则,进入下一个判断,如果b<c,交换b,c的值,执行完毕。
我估计你是想对a,b,c进行排序,但这种方法不对,需要3个独立的if语句或者用for循环。

你是想排序吧。
那用3个if就对了。