使用c语言编程输入:工资数,小时数(整数,空格分隔), 输出:工资/小时数(精确到小数点后2位),并根据四舍五入取整,然后将取整的数平方后计算一共有几位,后三位分别是什么。 程序的运行示例如下: 2345 2 (输入) 1172.50 (本行及以下为输出) 1173 7 9 2 9 ***输入数据格式***:"%d %d" ***输出数据格式***:"%.2f\n" "%d\n" "%d\n" "%d %d %d\n"
时间: 2024-02-20 22:59:36 浏览: 77
请看下面的C语言代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int salary, hours;
scanf("%d %d", &salary, &hours);
float wagePerHour = (float)salary / hours; // 计算工资/小时数
printf("%.2f\n", wagePerHour);
int roundedWage = round(wagePerHour); // 四舍五入取整
printf("%d\n", roundedWage);
int squaredWage = roundedWage * roundedWage; // 取整的数平方
int digitsCount = 0;
int lastThreeDigits = 0;
while (squaredWage > 0) {
int digit = squaredWage % 10;
squaredWage /= 10;
digitsCount++;
if (digitsCount > 3) {
lastThreeDigits = lastThreeDigits * 10 + digit;
}
}
int lastDigit = lastThreeDigits % 10;
lastThreeDigits /= 10;
int secondLastDigit = lastThreeDigits % 10;
lastThreeDigits /= 10;
int thirdLastDigit = lastThreeDigits % 10;
printf("%d\n", digitsCount);
printf("%d %d %d\n", thirdLastDigit, secondLastDigit, lastDigit);
return 0;
}
```
程序的实现过程如下:
1. 首先读入工资数和小时数。
2. 计算工资/小时数,然后使用 `printf` 输出结果,精确到小数点后两位。
3. 使用 `round` 函数对计算结果进行四舍五入取整,将取整的数存储到 `roundedWage` 变量中,并使用 `printf` 输出结果。
4. 计算取整的数的平方,然后统计它的位数,将它的最后三位存储到 `lastThreeDigits` 变量中。
5. 将 `lastThreeDigits` 的最后一位、第二位和第三位分别存储到 `lastDigit`、`secondLastDigit` 和 `thirdLastDigit` 变量中。
6. 使用 `printf` 输出位数和最后三位数字。注意,最后三位数字需要按照从高位到低位的顺序依次输出。
希望这个程序能够帮助到你!
阅读全文