输入一个整数,将整数的各位数字,逆序组成一个新整数!如果个数数,成为最高位数
若输入98765 ,则输出56789
请问各位有没有好的实现方法
[解决办法]
最土的方法:
1.先转成字符串;
2.利用字符串数组生成一个新的字符串,索引位置是逆向的;
3.将字符串转换成数值,显示即可;
[解决办法]
C里没有reserve这个函数,得自己写个实现这个功能。。。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 98765;
int j = 0;
int k = 0;
char str[10] = {0};
char ptr[10];
itoa(i, str, 10);
while (str[j] != '\0 ')
j++;
j--;
while(j > = 0)
ptr[k++] = str[j--];
ptr[k] = '\0 ';
i = atoi(ptr);
printf( "%d\n ", i);
return 0;
}
[解决办法]
编译执行通过
[解决办法]
#include <stdio.h>
int main()
{
int out=0,in,temp;
printf( "input the number:\n ");
scanf( "%d ",&in);
while(in/10||in%10)
{
temp=in%10;
in=in/10;
out=out*10+temp;
}
printf( "%d ",out);
return 0;
}
————————————————————————————————
gcc下运行成功
提醒注意while中的判断条件和顺序