MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]请高手们帮我看看哪里出错了 这是我第一次编程 (https://www.labfans.com/bbs/showthread.php?t=6958)

robertshan 2009-03-20 13:21

[求助]请高手们帮我看看哪里出错了 这是我第一次编程
 
题目是:输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分~100分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
x=input('请输入x的值:');
if x>=90 and x<=100
y='A';
elseif x>=80 and x<=89
y='B';
elseif x>=70 and x<=79
y='C';
elseif x>=60 and x<=69
y='D';
elseif x>=0 and x<=59
y='E';
else
'error';
end

grade=input('请输入grade的值');
switch fix(grade/10)
case{0,1,2,3,4,5}
y='E';
case{6}
y='D';
case{7}
y='C';
case{8}
y='B';
case{9,10}
y='A';
otherwise
'error';
end;
这两段调试都出错了 但是我不知道错在哪里 希望大家指导我下,谢谢各位!
顺便看下这个题目:
已知f1=1,n=1;f2=0,n=2;f3=1,n=3;f(n)=f(n-1)-2f(n-2)+f(n-3),n>3.求f1到f100中,
(1)最大值、最小值、各数之和。(2)正数、零、负数的个数。

感谢大家!

天风么 2009-03-20 16:22

回复: [求助]请高手们帮我看看哪里出错了 这是我第一次编程
 
第一个别用and 用&
第二个没错,我试了。

zlhxln 2009-03-21 20:27

回复: [求助]请高手们帮我看看哪里出错了 这是我第一次编程
 
x=input('请输入x的值:');
if x>=90 & x<=100
y='A'
elseif x>=80
y='B'
elseif x>=70
y='C'
elseif x>=60
y='D'
elseif x>=0
y='E'
else
'error'
end



grade=input('请输入grade的值');
switch fix(grade/10)
case{0,1,2,3,4,5}
y='E'
case{6}
y='D'
case{7}
y='C'
case{8}
y='B'
case{9,10}
y='A'
otherwise
'error'
end;

注意基础知识,别和C语言混淆。那题目我在看看。

shengmiaomiao 2011-04-29 10:58

回复: [求助]请高手们帮我看看哪里出错了 这是我第一次编程
 
我这有一个问题,给出一个常数s=11;三个矩阵a=[1 2 3 5 6 8];b=[10 11 13];c=[15 16 78];用switch语句判断s分别对应哪一个矩阵的处理情况,比方说:
switch s
case {a}
s=1;
case {b}
s=2;
case {c}
s=3;
end
这样哪里有问题啊?程序根本就进入不了case语句。
感谢帮助!

anbcjys 2011-04-30 09:15

回复: [求助]请高手们帮我看看哪里出错了 这是我第一次编程
 
[QUOTE=shengmiaomiao;43608]我这有一个问题,给出一个常数s=11;三个矩阵a=[1 2 3 5 6 8];b=[10 11 13];c=[15 16 78];用switch语句判断s分别对应哪一个矩阵的处理情况,比方说:
switch s
case {a}
s=1;
case {b}
s=2;
case {c}
s=3;
end
这样哪里有问题啊?程序根本就进入不了case语句。
感谢帮助![/QUOTE]

没有s=11的情况 。


所有时间均为北京时间。现在的时间是 05:48

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