C语言输入一个不小于 100 100 且小于 1000 1000,同时包括小数点后一位的一个浮点数,例如 123.4 123.4 ,要求把这个数字翻转过来,变成 4.321 4.321 并输出。
时间: 2024-02-12 20:09:22 浏览: 147
【c语言】输入一个浮点数(小数点后面有三位数),然后分别求出输出该数的整数部分和小数部分。
好的,这道题目其实跟上一个问题非常类似,只不过输入的范围和输出的形式有些不同。下面是一份相应的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char num[20];
int len, point_pos, i, j;
scanf("%s", num);
len = strlen(num);
for(i = len - 1; i >= 0; i--)
{
if(num[i] == '.')
{
point_pos = i;
break;
}
}
for(i = point_pos + 1; i < len; i++)
{
printf("%c", num[i]);
}
printf(".");
for(i = point_pos - 1; i >= 0; i--)
{
printf("%c", num[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们首先定义了一个字符数组 num 来接收输入的浮点数,然后使用 scanf 函数来读入这个浮点数。接着,我们使用一个循环来查找小数点的位置,并将其保存在 point_pos 变量中。
然后,我们使用两个循环来依次输出小数部分和整数部分的翻转结果。其中,第一个循环从小数点的后一个位置开始向后遍历,直到小数部分的最低位;第二个循环则从小数点的前一个位置开始向前遍历,直到整数部分的最高位。最后,我们将小数部分和整数部分的翻转结果重新组合成一个浮点数,并输出即可。
希望这个答案能够解决你的问题!
阅读全文