PAT 分支结构-10一些思考

假设个人所得税为:税率 * (工资 - 1600)。请编写程序计算应缴的所得税,其中税率定义为:

  • 当工资不超过1600时,税率为0;
  • 当工资在区间(1600, 2500]时,税率为5%;
  • 当工资在区间(2500, 3500]时,税率为10%;
  • 当工资在区间(3500, 4500]时,税率为15%;
  • 当工资超过4500时,税率为20%。

    输入格式:

    输入在一行中给出非负工资。

    输出格式:

    在一行输出个人所得税,精确到小数点后2位。

    输入样例1:

    1600
    

    输出样例1:

    0.00
    

    输入样例2:

    1601
    

    输出样例2:

    0.05
    

    输入样例3:

    3000
    

    输出样例3:

    140.00
    

    输入样例4:

    4000
    

    输出样例4:

    360.00
    

    输入样例5:

    5000
    

    输出样例5:

    680.00
    

以上是题目的要求,下面是我写的代码

 1 #include<stdio.h>
 2 int main(){
 3         float Payroll,Tex_rate,Sum;
 4         scanf("%f",&Payroll);
 5
 6         if(Payroll<=1600)
 7                 Tex_rate=0;
 8         else if(Payroll<=2500)
 9                 Tex_rate=0.05;
10         else if(Payroll<=3500)
11                 Tex_rate=0.1;
12         else if(Payroll<=4500)
13                 Tex_rate=0.15;
14         else
15                 Tex_rate=0.2;
16 //      Sum=(Payroll-1600)*Tex_rate;
17         printf("%.2f\n",(Payroll-1600)*Tex_rate);
18         return 0;
19 }

但是并没有通过,而是出现了如下的错误信息:

显示我的答案是有错误的,我按照题目的要求在本地测试,得出的结果是正确的。并且,我在CSDN的博客上看到了类似的答案,是这样的,参考http://blog.csdn.net/nirvana_wzj/article/details/38677713与我的思路非常的类似,只是每做完一个判断进行一次输出,于是我用他的代码进行了尝试,居然通过了,我很困惑,希望日后能够解释这个问题。

时间: 2024-08-03 18:50:41

PAT 分支结构-10一些思考的相关文章

简单的if多分支结构练习:用户录入 1-10的数字 , 1-7没奖品 , 8,9,10分别获得 3 2 1 等奖

package com.summer.cn; import java.util.Scanner; /** * @author Summer *简单的if多分支结构练习 *用户录入 1-10的数字 , 1-7没奖品 , 8,9,10分别获得 3 2 1 等奖 */ public class Test041506 { public static void main(String[] args) { //随机输入一个数,并获取这个数 Scanner sc = new Scanner(System.in

10、C#里面的分支结构if和else

在C#这门编程语言里面,也是和Java一样,都是有if和else关键词构成的分支结构的. 大致有3种组成方式: 1.if(逻辑表达式) { 语句体: } 2.if(逻辑表达式) { 语句体1: }else { 语句体2: } 3.if(逻辑表达式1) { 语句体1: }else if(逻辑表达式2) { 语句体2: } 举个例子:判断大小: int max,number1,number2; Console.Write("请输入数值1:"); number1=Convert.ToInt3

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

分支结构判断一个月几天

int month = 0; scanf("%d",&month); switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("%d月 31 天",month); break; case 4: case 6: case 9: case 11: printf("%d 月30天",month); break; case 2: print

shell脚本编程的选择分支结构

选择执行结构: if语句单分支结构:如果条件为真,则执行then后的命令,否则,不做任何操作: if CONDITION :then STATEMENT fi 或 if CONDITION ; then STATEMENT1 STATEMENT2 ... fi 注意:想要执行then后面的STATEMENTS,前提条件是CONDITION部分为真: if语句的双分支结构:如果条件为真,就执行then后面的命令:否则就执行else后面的命令: if CONDITION ; then STATEME

第二节 分支结构

在程序开发中,分支结构的使用频率要多于循环结构,10次分支,4次循环. 程序开发三种情况:分支,循环,分支 (1) if的三种格式: int a = 10; if(a > o) { printf("%d",a) } 当条件表达式的条件成立时,或为真时,执行大括号内的语句,否则执行if之后的语句. (2) char sex = 0; printf("请输入你的性别:m或者f"); scanf("%c",&sex); if(sex ==

Javascript开发技巧(JS入门、运算符、分支结构、循环结构)

一.Js简介和入门 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JavaScript简介</title> <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): <button onclick="javascript:alert('小碧池!你真点啊!')">有本事点我呀!!!<

实验四:分支结构

一.实验内容 1. 本题要求编写程序,输入10个字符,统计英文字母.空格或回车.数字字符和其他字符的个数. 2. 有3个整数a.b.c,由键盘输入,输出其中最大的数. 3. 输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各等级成绩的个数.成绩等级分为五级,分别为A(90~100).B(80~89).C(70~79).D(60~69)和E(0~59).试编写相应程序. 4. 输入五级制成绩(A~E),输出相应的百分制成绩(0~100)区间,要求使用switch语句.例如,输入A,输出9

JavaScript中的分支结构

说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的.程序=数据+算法通常我们所说的算法都可以通过"顺序","分支","循环"三种结构来组合完成. 在ECMA中规定了一些语句(也称为流程控制语句,分支结构语句),从本质上来说,这些语句定义了ECMAScript中的主要语法,语句通常使用一个或者多个关键字来完成给定任务. 1.1 if 语句 if 语句 - 只有当指定条件为 true 时,使用该