C语言 用数组解决 输入一个不小于 100 100 且小于 1000 1000,同时包括小数点后一位的一个浮点数,例如 123.4 123.4 ,要求把这个数字翻转过来,变成 4.321 4.321 并输出。
时间: 2024-02-12 20:09:19 浏览: 99
好的,这是一个比较简单的题目,可以按照以下步骤解决:
1. 首先,我们可以定义一个字符数组来接收输入的浮点数,并使用 scanf 函数来读入这个浮点数。
2. 接着,我们可以使用一个循环来查找小数点的位置,以便于后续的操作。
3. 然后,我们可以使用另外两个循环来将整数部分和小数部分分别翻转过来。
4. 最后,我们将翻转后的整数部分和小数部分重新组合成一个浮点数,并输出即可。
下面是具体的代码实现:
```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 = 0; i < len; i++)
{
if(num[i] == '.')
{
point_pos = i;
break;
}
}
for(i = point_pos - 1; i >= 0; i--)
{
printf("%c", num[i]);
}
printf(".");
for(i = len - 1; i > point_pos; i--)
{
printf("%c", num[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们首先定义了一个字符数组 num 来接收输入的浮点数,然后使用 scanf 函数来读入这个浮点数。接着,我们使用一个循环来查找小数点的位置,并将其保存在 point_pos 变量中。
然后,我们使用两个循环来依次输出整数部分和小数部分的翻转结果。其中,第一个循环从小数点的前一个位置开始向前遍历,直到整数部分的最高位;第二个循环则从小数点的后一个位置开始向后遍历,直到小数部分的最低位。最后,我们将整数部分和小数部分的翻转结果重新组合成一个浮点数,并输出即可。
希望这个答案能够解决你的问题!
阅读全文