2019年个税计算器

有关个税计算器的说明 添加链接描述
代码如下

#include<stdio.h>
#include<string.h>
int ynsds(){
	int money;
	printf("请输入钱\n");//需要计算的每月工资
	scanf("%d",&money);
	int i=0;
	char c;
	if(money>=5000){
		money=money-5000;//每月工资减去免征额
	}
	printf("需要养房?(y/n)\n");
	scanf("%s",&c);
	if(c=='y'){
		money=money-1000;
	}
	
	printf("需要养娃?(y/n)\n");
	scanf("%s",&c);
	if(c=='y'){
		money=money-1000;
	}
	printf("需要养爸妈?\n");
	scanf("%s",&c);
	if(c=='y'){
		money=money-2000;
	}
	if(money<0){
		printf("不需要缴纳个税\n");
		return -1;
	}
	return money;
}
double taxs(int money ,int i){//将计算后的每月剩下的工资和月份传入

	float tax;
	if(i*money<=36000){
			tax=0.03;
		}else if(i*money>36000&&i*money<=144000){
			tax=0.1;
		}else if(i*money>144000&&i*money<=300000){
			tax=0.2;
		}else if(i*money>300000&&i*money<=420000){
			tax=0.25;
		}else if(i*money>420000&&i*money<=660000){
			tax=0.3;
		}else if(i*money>660000&&i*money<=960000){
			tax=0.35;
		}else if(i*money>960000){
			tax=0.45;
		}
		return tax;
}
int yukou(int money,int i){//将计算后的每月剩下的工资和月份传入
	int shu;
	if(i*money<=36000){
			
			shu=0;
			
		}else if(i*money>36000&&i*money<=144000){
			
			shu=2520;
		
		}else if(i*money>144000&&i*money<=300000){
			
			shu=16920;
		
		}else if(i*money>300000&&i*money<=420000){
		
			shu=31920;
		
		}else if(i*money>420000&&i*money<=660000){
		
			shu=52920;
		
		}else if(i*money>660000&&i*money<=960000){
			
			shu=85920;
		
		}else if(i*money>960000){
		
			shu=181920;

		}
		return shu;
}
void main(){
	int aaa=ynsds(),temp=0,i,mo;
	int money=aaa;
	printf("%d\n",money);
	for(i=1;i<=12;i++){
		mo=money*i*taxs(aaa,i)-yukou(aaa,i)-temp;
		temp=temp+mo;
	}
	printf("需要缴税%d\n",temp);
}

在这个程序里面呢,需要注意以下的一行代码

double taxs(int money ,int i)

代码的返回值是tax,其是浮点型的返回值,必须要将返回值类型改为浮点类型

请注意一点,在输入单个字符时,最好使用%s,不要使用%c,因为%c是输入单个字符,在你输入单个字符后,需输入空白符,这时空白符留在内存中,当下一个scanf出现,内存直接把空白符传递给scanf,会出现不经键盘输入就进行下一个输入的情况
把scanf改为gets也是可以的,但是如果改为gets,就必须此函数体内都是gets,最好统一输入方式

代码如下

    int i=0;
	char c[3];
	if(money>=5000){
		money=money-5000;
	}
	printf("需要养房?(y/n)\n");
	gets(c);
	if(strcmp(c,"y")==0){
		money=money-1000;
	}
	
	printf("需要养娃?(y/n)\n");
	gets(c);
	if(strcmp(c,"y")==0){
		money=money-1000;
	}
	printf("需要养爸妈?\n");
	gets(c);
	if(strcmp(c,"y")==0){
		money=money-2000;
	}
	if(money<0){
		printf("不需要缴纳个税\n");
		return -1;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值