pascal中CASE语句

来源:百度知道 编辑:UC知道 时间:2024/05/30 11:35:42
有这样一个题目啊,我是用Turbo pascal。
把CASE语句部分写上就可以了。
输入工资,求税率,应缴纳款额和缴纳后剩下的钱。
800一下免税;
800-1000:5%;
1000-1500:10%;
1500-3000:15%;
3000以上:20%;

case 工资 of
0..800:不要钱;
801..1000:5%税金
1001..1500:10%税金
1501..3000:15%税金
else 20%税金
end;
直接把代码写出来就不好了,给你个框架

var a,c:integer;{a为工资,c为剩钱}
begin
readln(a);
case a of
<0:writeln('error');
0..800:c:=a;
801..1000:c:=a*0.95;
1001..1500:c:=a*0.9;
1501..3000:c:=a*0.85;
else c:=a*0.8;
end;
writeln(a-c,' ',c);
end.

var a,c:integer;{a为工资,c为剩钱}
begin
readln(a);
case a of
0..800:c:=a;
801..1000:c:=a*0.95;
1001..1500:c:=a*0.9;
1501..3000:c:=a*0.85;
else c:=a*0.8;
end;
writeln(a-c,' ',c);
end.

哎!!!!楼上的几位全错了。
应该从实际出发,缴税不是这么缴的!
read(a);
while a>800 do
case a of
800..1000:a:=(a-800)*0.95;
1000..1500:a:=..
..
..
end;

大概算法就是这个,时间仓促,只能这么写了。

case y of {n为应缴纳款额,x为缴纳后剩下