PTA-计算汇率

2024-01-28 00:30
文章标签 计算 pta 汇率

本文主要是介绍PTA-计算汇率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PTA-计算汇率

美国联邦个人所得税是根据申报情况和应纳税所得额计算的。有四种申报情况:单身申报、已婚联合申报、已婚单独申报、户主申报。税率每年都不一样。下表即为假定税率计算方法,例如,某人单身申报,应纳税收入为10,000,则计算方法为:8,350的部分按10%计税,剩余的1,650的部分按15%计税,因此其应缴税额为:8,350×10%+1,650×15%=1,082.5。

你要写一个计算个人所得税的程序。程序应该首先输入申报状态和应纳税所得额并计算税款。其中,输入申报状态用整型数表示,0表示单身申报,1表示已婚联合申报,2表示已婚单独申报,3表示户主申报。应纳税所得金额用实型数表示。下表为具体的税率。
在这里插入图片描述
输入格式:
请在一行中输入申报情况和应纳税收入金额,其中,输入申报情况用整型数表示,正确取值范围为03;应纳税金额为实型数,正确取值范围为0+∞。
输出格式:
(1)当输入数据合法时,输出应纳税金额,实型数; (2)当输入数据非法时,输出字符串“Wrong Format”
输入样例1:
在这里给出一组输入。例如:

0 0

输出样例1:
在这里给出相应的输出。例如:

0.0

输入样例2:
在这里给出一组输入。例如:

0 100000

输出样例2:
在这里给出相应的输出。例如:

21720.0

输入样例3:
在这里给出一组输入。例如:

5 100000

输出样例3:
在这里给出相应的输出。例如:

Wrong Format

代码实现如下:

import java.util.Scanner;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner input=new Scanner(System.in);int a = input.nextInt();double b = input.nextDouble();double s;if(a!=1&&a!=2&&a!=3&&a!=0||b<0)System.out.print("Wrong Format");else if(a==0)//Single{if(b>=0&&b<=8350){s=b*0.1;System.out.print(s);}else if(b>8350&&b<=33950){s=8350*0.1+(b-8350)*0.15;System.out.print(s);}else if(b>33950&&b<=82250){s=8350*0.1+(33950-8350)*0.15+(b-33950)*0.25;System.out.print(s);}else if(b>82250&&b<=171550){s=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(b-82250)*0.28;System.out.print(s);}else if(b>171550&&b<=372950){s=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(b-171550)*0.33;System.out.print(s);}else if(b>372950){s=835+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(372950-171550)*0.33+(b-372950)*0.35;System.out.print(s);}}else if(a==1)//Married Filling Jointly or Qualified Widoe(er){if(b>=0&&b<=16700){s=b*0.1;System.out.print(s);}else if(b>16700&&b<=67900){s=16700*0.1+(b-16700)*0.15;System.out.print(s);}else if(b>67900&&b<=137050){s=16700*0.1+(67900-16700)*0.15+(b-67900)*0.25;System.out.print(s);}else if(b>137050&&b<=208850){s=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(b-137050)*0.28;System.out.print(s);}else if(b>208850&&b<=372950){s=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(208850-137050)*0.28+(b-208850)*0.33;System.out.print(s);}else if(b>372950){s=1670+(67900-16700)*0.15+(137050-67900)*0.25+(208850-137050)*0.28+(372950-208850)*0.33+(b-372950)*0.35;System.out.print(s);}}else if(a==2) //Married Filling Separately{if(b>=0&&b<=8350){s=b*0.1;System.out.print(s);}else if(b>8350&&b<=33950){s=8350*0.1+(b-8350)*0.15;System.out.print(s);}else if(b>33950&&b<=68525){s=8350*0.1+(33950-8350)*0.15+(b-33950)*0.25;System.out.print(s);}else if(b>=68525&&b<=104425){s=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(b-68525)*0.28;System.out.print(s);}else if(b>104425&&b<=186475){s=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(104425-68525)*0.28+(b-104425)*0.33;System.out.print(s);}else if(b>186475){s=835+(33950-8350)*0.15+(68525-33950)*0.25+(104425-68525)*0.28+(186475-104425)*0.33+(b-186475)*0.35;System.out.print(s);}}else  if(a==3)//Head of Household{if(b>=0&&b<=11950){s=b*0.1;System.out.print(s);}else if(b>11950&&b<=45500){s=11950*0.1+(b-11950)*0.15;System.out.print(s);}else if(b>45500&&b<=117450){s=11950*0.1+(45500-11950)*0.15+(b-45500)*0.25;System.out.print(s);}else if(b>117450&&b<=190200){s=11950*0.1+(45500-11950)*0.15+(117450-45500)*0.25+(b-117450)*0.28;System.out.print(s);}else if(b>190200&&b<=372950){s=11950*0.1+(45500-11950)*0.15+(117450-45500)*0.25+(190200-117450)*0.28+(b-190200)*0.33;System.out.print(s);}else if(b>372950){s=1195+(45500-11950)*0.15+(117450-45500)*0.25+(190200-117450)*0.28+(372950-190200)*0.33+(b-372950)*0.35;System.out.print(s);}}}}

这篇关于PTA-计算汇率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/651959

相关文章

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

Java - BigDecimal 计算分位(百分位)

日常开发中,如果使用数据库来直接查询一组数据的分位数,就比较简单,直接使用对应的函数就可以了,例如:         PERCENT_RANK() OVER(PARTITION BY 分组列名 ORDER BY 目标列名) AS 目标列名_分位数         如果是需要在代码逻辑部分进行分位数的计算,就需要我们自己写一个工具类来支持计算了 import static ja

OpenStack离线Train版安装系列—2计算节点-环境准备

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版