⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ac1190.pas

📁 同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料
💻 PAS
字号:
program tju1190;
const
  maxn=400;
  level:array[1..9]of longint=(0,500,2000,5000,20000,40000,60000,80000,100000);
var
  pay:array[1..maxn,1..12]of longint;
  m,i,j,t:longint;
  sum:real;
  c:char;
procedure tax_pay(x:longint);
  var
    i:byte;
  begin
    dec(x,800);
    for i:=1 to 9 do begin
      if x<=level[i] then exit;
      sum:=sum+(x-level[i])/20;
    end;
  end;
procedure tax_income(x:real);
  begin
    if x>4000 then x:=x*0.8 else x:=x-800;
    if x>50000 then
      sum:=sum+13000+(x-50000)*0.4
    else if x>20000 then
      sum:=sum+4000+(x-20000)*0.3
    else if x>0 then
      sum:=sum+x*0.2;
  end;
begin
  repeat
    fillchar(pay,sizeof(pay),0);
    readln(m);sum:=0;
    repeat
      read(c);
      case c of
        'P':begin
              read(c,c,i);
              repeat read(c);until c>' ';
              j:=0;repeat j:=j*10+ord(c)-48;read(c);until c='/';
              readln(t,t);inc(pay[i,j],t);
            end;
        'I':begin
              repeat read(c);until c='/';
              readln(t,t);tax_income(t);
            end;
        '#':break;
      end;
    until false;

    for i:=1 to m do
      for j:=1 to 12 do
        tax_pay(pay[i,j]);
    writeln(sum:0:2);
  until seekeof;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -