pascal字符型输入
发布网友
发布时间:2024-04-23 09:37
我来回答
共1个回答
热心网友
时间:2024-04-28 16:24
这个程序的问题是出在你读数的时候,ch什么也没有读进去,虽然程序看起来没什么问题没什么,但是读数之后ch读的并不是你要读的,所以程序不对,我写了一个程序,你看看吧
var
a,b:integer;
c:longint;
ch:char;
s1,s:string;
begin
readln(s);
s1:='';
for c:=1 to length(s) do
if ord(s[c])>47 then s1:=s1+s[c]
else begin
ch:=s[c];
val(s1,a);
s1:='';
end;
val(s1,b);
c:=0;
case ch of
'+':c:=a+b;
'-':c:=a-b;
'*':c:=a*b;
end;
write(c);
end.
中间的那个循环是将读入的字符串中的数字和符号分开的,先每一位每一位看,如果读到的第i位是符号,则把前面的字符串转换成数存在a里面,把符号存在ch中,后面的字符串再存在b里,然后后面就是你的思路了