c语言输入一个不小于100且小于1000,同时包括小数点后一位的一个浮点数,例如123.4,要求把这个数字翻转过来,变成4.321并输出
时间: 2024-10-08 20:24:37 浏览: 22
在C语言中,你可以使用`scanf`函数获取用户输入的浮点数,然后将其转换为字符串进行操作,最后再将处理后的字符串转换回浮点数输出。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 将浮点数转换为字符串
char* float_to_string(float num) {
char str[10];
int i = sizeof(str) - 1;
sprintf(&str[i], "%f", num);
return str;
}
// 字符串反转
void reverse_string(char* str) {
int len = strlen(str), start = 0, end = len - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
// 将字符串转换回浮点数并输出
void print_reversed_float() {
float num;
scanf("%f", &num); // 输入浮点数
char* str = float_to_string(num);
reverse_string(str); // 反转字符串
printf("%.1f\n", atof(str)); // 输出反转后的浮点数
}
int main() {
print_reversed_float();
return 0;
}
```
在这个程序中,我们首先读取用户的输入,将其转换为字符串,然后反转字符串,最后再将反转后的字符串恢复为浮点数并打印。
阅读全文