问题:编写一个C程序计算小明和小红的工资,并回答两个问题。
以下是使用for循环语句,计算小明和小红工资以及回答问题的C程序。
- #include <stdio.h>
- int main() {
- int year = 0;
- float xiaoming_salary = 100.0;
- float xiaohong_salary = 100.0;
- while (xiaohong_salary <= xiaoming_salary) {
- year++;
- xiaohong_salary *= 1.2; // 小红每年涨20%
- xiaoming_salary += 100; // 小明每年加100
- }
- printf("小红在第%d年工资超过小明\n", year);
-
- year = 0;
- float xiaoming_total = 0.0;
- float xiaohong_total = 0.0;
- for (int i = 1; xiaoming_total >= xiaohong_total; i++) {
- year = i;
- xiaohong_salary *= 1.2;
- xiaoming_salary += 100;
- xiaoming_total += xiaoming_salary;
- xiaohong_total += xiaohong_salary;
- }
- printf("小红在第%d年累计挣的钱超过小明\n", year);
- return 0;
- }
复制代码
在这个程序中,我们使用了两个while循环语句来计算小红工资超过小明的年数,以及一个for循环语句来计算小红累计挣的钱超过小明的年数。
第一个while循环模拟了小红和小明的工资增长情况,直到小红的工资超过小明的工资时,记录下此时所处的年数。程序输出了这个年数作为第一个问题的答案。
第二个for循环模拟了小红和小明每年的收入和累计收入情况,直到小红累计挣的钱超过小明的钱时,记录下此时所处的年数。程序输出了这个年数作为第二个问题的答案。
注意,在计算小红和小明的收入时,我们需要声明一个float类型的变量来存储工资和累计收入,因此在初始化时需要写成100.0而不是100。
球一个最佳答案谢谢啦!这对我非常重要!

