我对编码相对比较陌生,目前正在学习C语言。我在教科书练习中遇到了一些麻烦,并且非常感谢您的帮助。尽管循环变量初始化和变量类型(C)
该练习的主要目标是通过输入完成的工作时间和小时费率来计算员工应该得到的总工资。费率100%可达40小时,但40小时后达到150%。下面是我写的代码:
#include <stdio.h>
int main (void) {
int employee, hour, ratenormal, totalrate, counter, rate;
int salary;
hour = 1;
while (hour != -1) {
printf("Enter # of hours worked (-1 to end): ");
scanf_s("%d", &hour);
if (hour == -1) break;
printf("Enter hourly rate of the work ($00.00): $");
scanf_s("%d", &rate);
if (hour <= 40) {
salary = hour * rate;
}
else if (hour > 40) {
salary = salary + ((hour - 40) * (rate * 1.5));
}
printf("Salary is $%d\n\n", salary);
}
return 0;
}
我有几个问题:
1)如果我宣布变量“工资”的浮动,那么结果只打印0,这是为什么?
2)循环工作正常,但只适用于第一次迭代。问题是我需要再次初始化变量薪水,否则它会保存以前使用的一些值。我怎么能这样做?
谢谢你的帮助!