matlab输入排序程序

matlab (1)首先,您的程序应该从键盘读取至少8到10个正整数,并保存它们。当输入数字为-1时,循环会立即停止。

(2)其次,您的程序可以将所有输入数字分为两个类,即奇数或偶数。
(3)然后将所有奇数从最大的数字重新排列到最小的,同时从最小的数字重新排列所有偶数到最大的一个。

我的疑问:
1.至少八个应该不能作为程序的条件
2。这个循环应该用if还是while

求佬指点

写出来了,就是感觉挺丑的
clc
clear
close all

x = zeros(1,10);
index = -1;
for i = 1:length(x)
str = ['请输入第',int2str(i),'个正整数:'];
x(i) = input(str);
if x(i)== -1
disp('over');
break;
end
end

odd=[];
even=[];
for i=1:length(x)
if mod(x(i),2)==0
even=[even,x(i)];
sort(even);
else
odd=[odd,x(i)];
sort(odd,'descend');
end
end

disp('偶数为:')
disp(even)
disp('奇数为:')
disp(odd)