求助,这个计算工资的程序有什么错误?
#include<stdio.h>float main()
{
int type;
float time,salay,number,piece,fix_wages,wages; //定义工作时间、计时工资、产品件数、计件薪水、固定工资、应发工资//
float tax,tax_dues,actual_wages; //定义交税工资、个人所得税、实际工资//
printf("请输入工资类型:\n");
scanf("%f",&type);
switch(type)
{
case 1:{
printf("请输入工作时间及每小时的薪水:\n");
scanf("%f%f",&time,&salay);
wages=time*salay;
break;
}
case 2:{
printf("请输入完成产品件数和每件薪水:\n");
scanf("%f%f",&number,&piece);
wages=number*piece;
break;
}
case 3:{
printf("请输入每月固定的应发工资:\n");
scanf("%f",&fix_wages);
wages=fix_wages;
break;
}
}
tax=wages-2000;
if(tax<=0)
tax_dues=0;
else if(tax<=500)
tax_dues=tax*0.05;
else if(tax<=2000)
tax_dues=(500*0.05)+(tax-500)*0.1;
else if(tax>2000)
tax_dues=(500*0.05)+(1500*0.1)+(tax-2000)*0.15;
actual_wages=wages-tax_dues;
printf("wages=%6.2f,tax_dues=%6.2f,actual_wages=%6.2f\n",wages,tax_dues,actual_wages);
}
为什么输出结果是乱的?