主题:高手过来指导一下(简化程序)
[em11]
[size=2][color=000000]我编了两个程序,似乎过于复杂,请高手帮我简化一下。谢谢啦!
[color=FF0000]注意:[/color]功能和显示的方式到不要变
[color=FF00FF]1.bas[/color]
do[color=0000FF]:[/color]cls[color=0000FF]:[/color]defstr s-w[color=FF00FF]:[/color]defdbl a-e
s="Solve (a,b) and [a,b]."+chr$(13)+"eg:(24,36)=12,[24,36]=72"+chr$(13)+"!:a=1,2,3,...;b=1,2,3,...!" /s...!"是一行/
t="a="[color=0000FF]:[/color]u=",b="[color=FF00FF]:[/color]v="ERROR!"
?s[color=0000FF]:[/color]?t[b];[/b]
input a
if a<=0 or a<>int(a) then
cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?v
else[color=FF00FF]:[/color]cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?t[color=FF00FF];[/color]a[color=0000FF];[/color]u[color=FF00FF];[/color]
input b
if b<=0 or b<>int(b) then
cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?v
else[color=FF00FF]:[/color]cls[color=0000FF]:[/color]?s[color=FF00FF]:[/color]?t;a;u;b
if a<b then swap a,b
c=a[color=0000FF]:[/color]d=b
do[color=FF00FF]:[/color]e=a mod b[color=0000FF]:[/color]a=b:b=e
loop until e=0
?"(a,b)=";a;";c/a*d
endif
endif
input"Continue?(Y/N)",w
loop until w<>"y"
[color=FF00FF]2.bas[/color]
do:cls:defstr s-x
s="Solve ax^2+bx+c=0."+chr$(13)+"Notice:a<>0!"
t="a=":u=",b=":v=",c=":w="ERROR!"
?s[color=FF00FF]:[/color]?t;
input a
if a=0 then
cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?w
else[color=FF00FF]:[/color]cls[color=0000FF]:[/color]?s[color=FF00FF]:[/color]?t;a;u;
input b
cls[color=0000FF]:[/color]?s[color=FF00FF]:[/color]?t;a;u;b;v
input c
cls[color=0000FF]:[/color]?s:?t;a;u;b;v;c
d=b*b-4*a*c
if d<0 then
d=sqr(d)
?"x1=";(-b+d)/2/a;",b=x2+";(-b-d)/2/a
endif
endif
input "Continue?(Y/N)",x
loop until x<>"y"[/color][/size]
[size=5]说明:“?“即是print,打?qbasic把它当作print。[/size]
[size=2][color=000000]我编了两个程序,似乎过于复杂,请高手帮我简化一下。谢谢啦!
[color=FF0000]注意:[/color]功能和显示的方式到不要变
[color=FF00FF]1.bas[/color]
do[color=0000FF]:[/color]cls[color=0000FF]:[/color]defstr s-w[color=FF00FF]:[/color]defdbl a-e
s="Solve (a,b) and [a,b]."+chr$(13)+"eg:(24,36)=12,[24,36]=72"+chr$(13)+"!:a=1,2,3,...;b=1,2,3,...!" /s...!"是一行/
t="a="[color=0000FF]:[/color]u=",b="[color=FF00FF]:[/color]v="ERROR!"
?s[color=0000FF]:[/color]?t[b];[/b]
input a
if a<=0 or a<>int(a) then
cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?v
else[color=FF00FF]:[/color]cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?t[color=FF00FF];[/color]a[color=0000FF];[/color]u[color=FF00FF];[/color]
input b
if b<=0 or b<>int(b) then
cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?v
else[color=FF00FF]:[/color]cls[color=0000FF]:[/color]?s[color=FF00FF]:[/color]?t;a;u;b
if a<b then swap a,b
c=a[color=0000FF]:[/color]d=b
do[color=FF00FF]:[/color]e=a mod b[color=0000FF]:[/color]a=b:b=e
loop until e=0
?"(a,b)=";a;";c/a*d
endif
endif
input"Continue?(Y/N)",w
loop until w<>"y"
[color=FF00FF]2.bas[/color]
do:cls:defstr s-x
s="Solve ax^2+bx+c=0."+chr$(13)+"Notice:a<>0!"
t="a=":u=",b=":v=",c=":w="ERROR!"
?s[color=FF00FF]:[/color]?t;
input a
if a=0 then
cls[color=FF00FF]:[/color]?s[color=0000FF]:[/color]?w
else[color=FF00FF]:[/color]cls[color=0000FF]:[/color]?s[color=FF00FF]:[/color]?t;a;u;
input b
cls[color=0000FF]:[/color]?s[color=FF00FF]:[/color]?t;a;u;b;v
input c
cls[color=0000FF]:[/color]?s:?t;a;u;b;v;c
d=b*b-4*a*c
if d<0 then
d=sqr(d)
?"x1=";(-b+d)/2/a;",b=x2+";(-b-d)/2/a
endif
endif
input "Continue?(Y/N)",x
loop until x<>"y"[/color][/size]
[size=5]说明:“?“即是print,打?qbasic把它当作print。[/size]