给出一个5位数,按逆序输出它的各位数字。如:输入12345,输出54321.

如题所述

我为其它楼层的答案感到痛惜,我也就随便写一个函数吧:
入口:一个整数(唯一参数,仅限十进制);
出口:一个逆序整数(十进制);
随手写的,就不考虑效率了,用字符串辅助了一下,原函数如下:
///////////////////////////////////////////////////////////
int Change ( int nInput )
{
char str[200],*p=str;
sprintf(str,"%d",nInput);
int a=0,c=0,d=(int)strlen(str),e=0;
for(a=0;a<d;a++,p++)
{
int b=*p-0x30,w=1;
for(e=0;e<a;e++)w*=10;
b*=w;
c+=b;
}
return c;
}
///////////////////////////////////////////////////////////
void man(void)
{
printf ( "%d" , Change(2435245) );
//getch();
}
///////////////////////////////////////////////////////////
// 祝你玩的开心。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-31
不知道你是要用什么语言编程。这里提供一个C小程序,希望能帮上你的忙。
#include "stdafx.h"
#include "iomanip.h"

void main(void){
int nin;
cout << "请输入一个十进制五位数!\nnin=";
cin >> nin;
cout << "out=";
for(int i=0;i<5;i++){
cout << nin%10;
nin/=10;
}
cout << endl;
}本回答被提问者采纳
第2个回答  2011-10-31
int main(int argc, char* argv[])
{
int input;
int ret,num;
printf("Input a int:");
scanf("%d",&input);

for(;;)
{
num=input%10;
input=input/10;

printf("%d",num);
if(input<10)
{
printf("%d\n",input);
break;
}
}

return 0;
}
第3个回答  2011-10-31
public static void main(String[] args){
String s = "12345";
StringBuilder sb = new StringBuilder(s);
s = sb.reverse().toString();
System.out.println(s);
}
除此之外,还有其他几种实现方法。
第4个回答  2011-10-31
var s:string; i:longint;
begin
readln(s);
for i:=length(s) downto 1 do write(s[i]);
writeln;
end.
相似回答