繁体   English   中英

反转浮点数C

[英]Reverse a float number C

我正在学习C。我们将scanfprintf用于输入和输出数据。
我们在课程中有一个问题:反转浮点数。

我的编程技巧很好,我可以轻松做到这一点。
例如,我的想法之一是将float通过乘幂10转换为int ,然后将其反转并再次转换为float 还有很多其他想法。

但是我们的问题有局限性。 使用scanf功能反转编号。

我请老师为此给我一个代码。 他给出了以下代码。 很抱歉,因为我不太清楚代码。 这段代码为12.33给出了12和33,但是对于12.00001则无效,因为我们得到12和1。当我们得到这个数字时,我们将它们反转并打印出来。 我的老师问我一种解决方法,但是我找不到办法。 不一定需要一种方法,但是有什么可以帮助我的吗?

我的老师代码:

int main(){
    int a,b;
    scanf("%d.%d", &a, &b);
    printf("a = %d, b = %d", a, b);
}

谢谢。

如果不需要任何计算,则以字符串格式获取它,然后将其取反。

#include<stdio.h> 
#include<string.h> 

void main(){  
  char str[20];  

  printf("Enter number: "); 
  scanf( "%s" , str );


  printf("\nReverse Number is: %s",strrev(str));  

}
#include<stdio.h>    
#define MAX 20

void main(void) {
  char str[MAX];  
  int i;
  printf("Enter number: "); 
  scanf( "%s" , str );

  for (i=0;i<MAX; i++){
      printf("%c",str[MAX-1-i]);
  } 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM