Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-13, 17:53   #1
heihakuang
初级会员
 
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0
heihakuang 正向着好的方向发展
微笑 求助各位坛友,帮忙解决两道问题。。。

已解决,谢谢hrt兄弟!!!

1.
输入一个百分制成绩,要求输出成绩等级A,B,C,D,E.其中90~100输出A,80~89输出B,70~79输出C,60~69输出D,60分以下E.
要求(1)分别用if和switch语句实现
(2)判断合理性,对不合理成绩输出错误信息

2.
求1到100之间的偶数之和。[/SIZE][/SIZE]

此帖于 2009-04-14 16:18 被 heihakuang 编辑。
heihakuang 当前离线   回复时引用此帖
旧 2009-04-13, 18:34   #2
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0
hrt 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

对于第一题,写了个函数M文件如下:
function fscore(x)
if((x>100)||(x<0))
disp('成绩不合理');
else
switch(floor(x/10)) %floor为MATLAB自带的取整函数
case {9,10}
disp('A');
case 8
disp('B');
case 7
disp('C');
case 6
disp('D');
otherwise
disp('E');
end
end

运行的一些结果如下:
>> fscore(101)
成绩不合理
>> fscore(-1)
成绩不合理
>> fscore(90.9)
A
>> fscore(65)
D

对于第二题
程序1:
k=0;
for i=1:100
if(rem(i,2)==0)
k=k+i;
else
continue;
end
end
k

结果为:
k =

2550

程序2:
>> i=2:2:100;
>> sum(i)

结果为:
ans =

2550

关于上面两道题,肯定还有其它方法啦~ ~
加油~ ~
hrt 当前离线   回复时引用此帖
旧 2009-04-13, 21:57   #3
heihakuang
初级会员
 
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0
heihakuang 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

谢谢你,第二题很简单,我明白了。
但是第一题我照着写了个M文件
出现的错误提示是:
??? Input argument "x" is undefined.

Error in ==> baifen2wuji at 2
if((x>100)||(x<0))
是不是我哪里操作错了???
heihakuang 当前离线   回复时引用此帖
旧 2009-04-13, 22:14   #4
hrt
初级会员
 
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0
hrt 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

由于没有参数传给x,执行函数M文件就会出现你说的问题。
编写好M文件后,直接保存,不在debug下执行,就不会有问题了。(注意:m文件名要和函数名一样,为fscore)
再在matlab命令窗口中,输入命令:
>> fscore(101)

>> fscore(56)
。。。
可得到结果
hrt 当前离线   回复时引用此帖
旧 2009-04-13, 22:40   #5
heihakuang
初级会员
 
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0
heihakuang 正向着好的方向发展
默认 回复: 求助各位坛友,帮忙解决两道问题。。。

原来是这样,呵呵,非常感谢
heihakuang 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 19:49


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.