首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

输入一个整数,将整数的各位数字,逆序组成一个新整数!如果个数数,成为最高位数,该如何处理

2012-02-27 
输入一个整数,将整数的各位数字,逆序组成一个新整数!如果个数数,成为最高位数若输入98765,则输出56789请问

输入一个整数,将整数的各位数字,逆序组成一个新整数!如果个数数,成为最高位数
若输入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中的判断条件和顺序

热点排行