C++ 反十进制数
如何反转十进制数。我写了这段代码,但反转了整数C++ 反十进制数,c++,C++,如何反转十进制数。我写了这段代码,但反转了整数 #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("%ld\n", r); getch
#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("%ld\n", 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;
}
#包括
#包括
#包括
#包括
长反转(长);
int main()
{
长n,r;
scanf(“%ld”、&n);
r=反向(n);
printf(“%ld\n”,r);
getch();
返回0;
}
长反转(长n)
{
静态长r=0;
如果(n==0)
返回0;
r=r*10;
r=r+n%10;
反向(n/10);
返回r;
}
我无法分离小数点的整数。我应该怎么做。使用@GManNickG提交的:
#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 \0 */
char temp;
/* reverse */
while (end > start)
{
/* swap */
temp = *start;
*start = *end;
*end = temp;
/* move */
++start;
--end;
}
}
#包括
#包括
无效反向_字符串(char*str);
int main(){
字符编号_至_反向[256];
scanf(“%s”,数字从0到0的倒数);
反向字符串(从数字到反向);
printf(“%s”,数字从0到0的倒数);
返回0;
}
无效反向_字符串(char*str){
/*跳过空值*/
如果(str==0)
{
返回;
}
/*跳过空字符串*/
如果(*str==0)
{
返回;
}
/*射程*/
char*start=str;
char*end=start+strlen(str)-1;/*-1表示\0*/
焦炭温度;
/*逆转*/
while(结束>开始)
{
/*交换*/
温度=*开始;
*开始=*结束;
*结束=温度;
/*移动*/
++开始;
--结束;
}
}
一种可能的方法是将数字作为字符串读取,然后将其拆分为两个数字。。。另外,因为你使用C++,我推荐CIN而不是Snffu你没有搜索,是吗?比如Read 25=52