反转浮点数C

时间:2017-11-17 06:22:57

标签: c

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

我的编程技巧很好,我可以很容易地做到这一点 例如,我的一个想法是将float数字转换为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);
}

感谢。

2 个答案:

答案 0 :(得分:4)

如果不想进行任何计算,则以字符串格式获取,然后将其反转。

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

void main(){  
  char str[20];  

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


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

}

答案 1 :(得分:0)

#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]);
  } 
}