登录论坛

查看完整版本 : [求助]请高手们帮我看看哪里出错了 这是我第一次编程


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
我这有一个问题,给出一个常数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语句。
感谢帮助!

没有s=11的情况 。