永发信息网

Pascal 2013年普及组试题

答案:1  悬赏:60  手机版
解决时间 2021-01-27 17:19
Pascal 2013年普及组试题
最佳答案
var s,s1,s2,ss:string;
i,x1,x2,j,x3,xx:longint;
begin
readln(s);
s:=s+'='; //最后加上=,方便下面计算
i:=1;
while i<=length(s) do //先解决乘法
begin
if s[i]='*' then
begin
s1:='';s2:='';
for j:=i-1 downto 1 do
if s[j]in['0'..'9'] then s1:=s[j]+s1 //取出第一个因数
else break;
xx:=j+1; //为了不让第二个因数出错,先用xx寄存开头位置
for j:=i+1 to length(s) do
if s[j]in['0'..'9'] then s2:=s2+s[j] //取出第二个因数
else break;
i:=xx; //求出一个乘法算式的答案
if length(s1)>4 then s1:=copy(s1,length(s1)-4+1,4);
//如果超过四位那么只取四位
if length(s2)>4 then s2:=copy(s2,length(s2)-4+1,4);
val(s1,x1);val(s2,x2);
x3:=x1*x2;
str(x3,ss);
if length(ss)>4 then ss:=copy(ss,length(ss)-4+1,4);
delete(s,i,j-i);
insert(ss,s,i); //插入得数
end
else inc(i); //如果不是乘号就进行下一位
end;
s1:='';
for i:=1 to length(s) do //取出第一个加数
if s[i]in['0'..'9'] then s1:=s1+s[i] else break;
val(s1,x1);s1:='';
for i:=i+1 to length(s) do //算加法
if s[i]in['0'..'9'] then s1:=s1+s[i]
else
begin
if length(s1)>4 then s1:=copy(s1,length(s1)-4+1,4);
//同上,只去最后四位
val(s1,x2);
x1:=x1+x2;
str(x1,s1);
if length(s1)>4 then val(copy(s1,length(s1)-4+1,4),x1);
s1:='';
end;
str(x1,s1);
if length(s1)<=4 then writeln(s1) //输出,如果超过四位就输出最后四位
else writeln(copy(s1,length(s1)-4+1,4));
end.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么做黄焖羊肉
零零酒吧地址在哪,我要去那里办事
小时不识月,下一句 两岸猿声啼不住,下一句
XY设计(中兴街店)地址在什么地方,想过去办事
疾恶若雠的意思是什么啊?知道的请说下!
股票多少换手率合适
我修罗主玩杀意波动我该做什么异界套
房子在工行按揭还款的,只有购房合同没房产证
怎么选购山地车
面部刮痧十八岁可以做吗
北海采风摄影地点的推荐
苹果召回iphone6 plus 怎样查看手机是否在召
卡尼丝烫染名店地址好找么,我有些事要过去
马訾水的意思是什么啊?知道的请说下!
我国基金监管法律法规体系的核心不包括下列(
推荐资讯
脾虚证经行泄泻的治法是A.健脾渗湿,理气调经
随着科学技术的发展,人们可以根据需求来改造
已知点G是△ABC的重心, =λ +μ (λ,
三合五金商店地址好找么,我有些事要过去
我刚交往没多久的男朋友最近老是向我要那个,
华语乐坛中有四人女子组合吗?如果有,是哪个
友谊相馆(滨河路二段)地址在什么地方,想过去
宝塔里停车场地址在什么地方,我要处理点事!
鼠贼的意思是什么啊?知道的请说下!
双合村地址在什么地方,想过去办事
滨江社区居委会地址有知道的么?有点事想过去
繁滋的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?