假设税前工资和税率如下(s代表税前工资,t代表税率): s<1000 t=0% 1000<=s<2000 t=10% 2000<=s<3000 t=15% 3000<=s<4000 t=20% 4000<=s t=25% 编写一程序,要求用户输入税前工资额,然后用switch语句计算税后工资额。
时间: 2023-05-31 17:17:48 浏览: 870
税前税后工资算法
### 回答1:
好的,以下是程序的中文描述:
1. 提示用户输入税前工资额。
2. 读取用户输入的税前工资额。
3. 根据税前工资额的大小,使用switch语句计算税后工资额。
4. 根据税率计算税后工资额。
5. 输出税后工资额。
具体的程序实现可以参考以下代码:
#include <stdio.h>
int main() {
float salary, tax, after_tax;
printf("请输入税前工资额:");
scanf("%f", &salary);
switch ((int)salary / 100) {
case :
tax = ;
break;
case 1:
tax = .1;
break;
case 2:
tax = .15;
break;
case 3:
tax = .2;
break;
default:
tax = .25;
break;
}
after_tax = salary * (1 - tax);
printf("税后工资额为:%.2f\n", after_tax);
return ;
}
### 回答2:
首先,我们需要使用 scanf 函数从用户输入中获取税前工资额:
```
int s;
printf("请输入税前工资额:");
scanf("%d", &s);
```
接下来,我们需要根据不同的税前工资额段计算出税后工资额。这里我们可以使用 switch 语句来实现。
```
int t; // 税率
double after_tax; // 税后工资额
switch (s / 1000) { // 根据税前工资额段计算税率
case 0:
t = 0;
break;
case 1:
t = 10;
break;
case 2:
t = 15;
break;
case 3:
t = 20;
break;
default:
t = 25;
break;
}
after_tax = s * (1 - t / 100.0); // 计算税后工资额
```
最后,我们可以输出计算出来的税后工资额:
```
printf("税后工资额为:%.2f\n", after_tax);
```
完整代码如下:
```
#include <stdio.h>
int main() {
int s;
printf("请输入税前工资额:");
scanf("%d", &s);
int t; // 税率
double after_tax; // 税后工资额
switch (s / 1000) { // 根据税前工资额段计算税率
case 0:
t = 0;
break;
case 1:
t = 10;
break;
case 2:
t = 15;
break;
case 3:
t = 20;
break;
default:
t = 25;
break;
}
after_tax = s * (1 - t / 100.0); // 计算税后工资额
printf("税后工资额为:%.2f\n", after_tax);
return 0;
}
```
### 回答3:
首先我们需要了解一些基本知识,税前工资是指一个人在纳税前的工资收入,而税后工资是税前工资减去扣除税款之后的实际工资收入。税率是指根据税前工资的不同,对应不同的纳税率,纳税率越高,交税金额越多。了解了这些基本概念后,我们开始编写程序。
1. 首先,在程序中定义一些变量,包括税前工资、税率、税后工资等。
2. 接着,通过scanf函数,要求用户输入税前工资额。
3. 针对税前工资额打不同的税率,我们可以使用switch-case结构,根据不同的收入区间,计算税后工资,并输出到屏幕上。
以下是示例代码:
```
#include <stdio.h>
int main()
{
float s, t, sh;
printf("请输入税前工资:");
scanf("%f", &s);
if(s < 0) {
printf("输入有误,请重新输入!\n");
return 0;
}
if(s < 1000) {
t = 0;
} else if(s >= 1000 && s < 2000) {
t = 0.1;
} else if(s >= 2000 && s < 3000) {
t = 0.15;
} else if(s >= 3000 && s < 4000) {
t = 0.2;
} else {
t = 0.25;
}
sh = s * (1 - t);
printf("税后工资为:%.2f\n", sh);
return 0;
}
```
程序首先让用户输入税前工资,之后利用if-else语句得出税率,并计算税后工资。由于输入的是浮点型数据,因此输出的也是浮点型数据,我们可以使用"%.2f"指令来保留两位小数。需要注意的是,当输入的数据为负数时,我们需要输出提示语句并要求重新输入。
阅读全文