用c语言写出输入一个不小于100且小于1000,同时包括小数点后-位的一一个浮点数,例如123.4,要求把这个数字 比如123.4翻转过来,变成4.321并输出。
时间: 2024-02-25 21:55:24 浏览: 67
【c语言】输入一个浮点数(小数点后面有三位数),然后分别求出输出该数的整数部分和小数部分。
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
float num;
printf("请输入一个不小于100且小于1000的浮点数:");
scanf("%f", &num);
// 取出整数部分和小数部分
int integer_part = (int)num;
float decimal_part = num - integer_part;
// 将整数部分翻转
int reversed_integer_part = 0;
while (integer_part > 0) {
reversed_integer_part = reversed_integer_part * 10 + integer_part % 10;
integer_part /= 10;
}
// 输出翻转后的浮点数
printf("翻转后的浮点数为:%f\n", reversed_integer_part + decimal_part * pow(10, floor(log10(reversed_integer_part)) + 1));
return 0;
}
```
此代码通过将浮点数的整数部分翻转,再将小数部分与翻转后的整数部分合并成新的浮点数,最终输出结果。需要注意的是,小数点后位数可能不同,因此需要使用 `pow()` 函数和 `floor()` 函数计算出小数点后的位数。
阅读全文