matlab循环语句问题我自己写了一段,但是发现不对.请各位帮我看看改如何改在1到12内. 假如不是整数提示"需要输入整数" 假如输入非数字提示"?" .当在12内就运算 i = input('Whic
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/13 03:49:06
matlab循环语句问题我自己写了一段,但是发现不对.请各位帮我看看改如何改在1到12内. 假如不是整数提示"需要输入整数" 假如输入非数字提示"?" .当在12内就运算 i = input('Whic
matlab循环语句问题
我自己写了一段,但是发现不对.请各位帮我看看改如何改
在1到12内. 假如不是整数提示"需要输入整数" 假如输入非数字提示"?" .当在12内就运算
i = input('Which multiplication table?');
if i~=fix(i)
disp ('Please enter an integar number only.');
elseif i>=1 && i<=12
for x = 1:i;
y=i*x;
disp('%d x %d=%d',x,i,y);
end
elseif isnan(i)~=0
disp('?Undefined function or variable');
elseif x>12 or x<1
disp('Please enter a number from 1 to12.');
end
matlab循环语句问题我自己写了一段,但是发现不对.请各位帮我看看改如何改在1到12内. 假如不是整数提示"需要输入整数" 假如输入非数字提示"?" .当在12内就运算 i = input('Whic
有几个问题:
(1)应该先判断输入的是数字还是字符串
(2)逻辑判断中没有“or”,应该用“||”代替
(3)disp函数不能那样用,得先用sprintf,再用disp.
改过之后的程序如下:
i = input('Which multiplication table?');
if isnumeric(i)
if i~=fix(i)
disp ('Please enter an integar number only.');
elseif i>12 || i<1
disp('Please enter a number from 1 to12.');
elseif i>=1 && i<=12
for x = 1:i;
y=i*x;
out = sprintf('%d x %d=%d',x,i,y);
disp(out);
end
end
elseif ischar(i)
disp('?Undefined function or variable');
end
下面贴出运行的结果: