Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0 ![]() |
![]()
已解决,谢谢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 编辑。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0 ![]() |
![]()
对于第一题,写了个函数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 关于上面两道题,肯定还有其它方法啦~ ~ 加油~ ~ |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0 ![]() |
![]()
谢谢你,第二题很简单,我明白了。
但是第一题我照着写了个M文件 出现的错误提示是: ??? Input argument "x" is undefined. Error in ==> baifen2wuji at 2 if((x>100)||(x<0)) 是不是我哪里操作错了??? |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-03-11
年龄: 38
帖子: 9
声望力: 0 ![]() |
![]()
由于没有参数传给x,执行函数M文件就会出现你说的问题。
编写好M文件后,直接保存,不在debug下执行,就不会有问题了。(注意:m文件名要和函数名一样,为fscore) 再在matlab命令窗口中,输入命令: >> fscore(101) 或 >> fscore(56) 。。。 可得到结果 |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2009-04-13
年龄: 36
帖子: 4
声望力: 0 ![]() |
![]()
原来是这样,呵呵,非常感谢
|
![]() |
![]() |