各位大佬们,在线错误求解如何改正,先谢谢你们哦
某公司员工的工资计算方法如下:一周内工作时间不超过40小时,按正常工作时间计酬;超出40小时的工作时间部分,按正常工作时间报酬的1.5倍计酬。员工按进公司时间分为新职工和老职工,进公司不少于5年的员工为老职工,5年以下的为新职工。新职工的正常工资为30元/小时,老职工的正常工资为50元/小时。请按该计酬方式计算员工的工资。输入格式:
输入在一行中给出2个正整数,分别为某员工入职年数和周工作时间,其间以空格分隔。
输出格式:
在一行输出该员工的周薪,精确到小数点后2位。
#include<stdio.h>
int main(){
int x,y;
float z;
scanf("%d%d\n",&x,&y);
if(x<=5&&y<=40); //新员工
{
z=30*y;
printf("%.2f\n",z);
}
else if(x<=5&&y>40) //新40上
{
z=1200+1.5*30*(y-40);
printf("%.2f\n",z);
}
else if(x>5&&y<=40) //老员工
{
z=50*y;
printf("%.2f\n",z);
}
else(x>5&&y>40); //老40以上
{
z=2000+1.5*50*(y-40);
printf("%.2f\n",z);
}
return 0;
}
编译错误;
a.c: In function ‘main’:
a.c:7:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if(x<=5&&y<=40); //新员工
^~
a.c:8:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
{
^
a.c:12:5: error: ‘else’ without a previous ‘if’
else if(x<=5&&y>40) //新40上
^~~~
a.c:22:10: warning: statement with no effect [-Wunused-value]
else(x>5&&y>40); //老40以上
~~~~^~~~~~~
a.c:6:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d\n",&x,&y);
^~~~~~~~~~~~~~~~~~~~~