反向数字十进制

Reverse Numbers Decimal

本文关键字:十进制 数字      更新时间:2023-10-16

如何反转十进制数。我写了这段代码,但反转了整数。

#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <math.h>
long reverse(long);
int main()
{
   long n, r;
   scanf("%ld", &n);
   r = reverse(n);
   printf("%ldn", r);
   getch();
   return 0;
}
long reverse(long n)
{
   static long r = 0;
   if (n == 0) 
      return 0;
   r = r * 10;
   r = r + n % 10;
   reverse(n/10);
   return r;
}

我不能分隔小数的整数。
我应该怎么做。

使用 @GManNickG 提交的reverse_string函数:

#include <stdio.h>
#include <string.h>
void reverse_string(char *str);
int main(){   
  char number_to_reverse[256];
  scanf("%s",number_to_reverse);
  reverse_string(number_to_reverse);
  printf("%s",number_to_reverse);
  return 0; 
}
 void reverse_string(char *str) {
    /* skip null */
    if (str == 0)
    {
      return;
    }
    /* skip empty string */
    if (*str == 0)
    {
      return;
    }
    /* get range */
    char *start = str;
    char *end = start + strlen(str) - 1; /* -1 for  */
    char temp;
    /* reverse */
    while (end > start)
    {
      /* swap */
      temp = *start;
      *start = *end;
      *end = temp;
      /* move */
      ++start;
      --end;
    }
 }