如何编写一个例如输入一个三位数123使其输出结果是321的程序

如题所述

像这种逆序输出数字,大体有两种思路。一种是将它当作一个整数来处理,另一种是将它当作一个字符串来处理。如下所示的程序,演示了两种方法,请参考:

#include <stdio.h>

int reversei(int i)//将整数i中的各个数位逆序,并将逆序后的结果存入
//整数result返回 
{
int result = 0;
while(i>=10)
{
//以下利用整数i除以10的余数,取出个位数字,存入结果中 
result += (i % 10);
result *= 10;
i = i / 10; //舍弃最右侧的一位数 
}
result += i; //补齐最后一位数 
return result;
}

void reverses(char *s, char *r) //将字符串s逆序后存入字符串r 
{
int i = strlen(s)-1, j = 0;
while(i>=0)
{
r[j++] = s[i--];
}
}

int main()
{
int di;
char ds[10],re[10];

printf("请输入一个整数:");
scanf("%d", &di);
printf("整数逆序: %d\n", reversei(di));

printf("请输入一个整数:");
scanf("%s", ds);
reverses(ds, re);
printf("字符串逆序:%s\n", re);
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2007-04-24
如果用JAVA来编则是:
public class first{
public static void main(string[]args){
int a,b,c,d,e;
d=Keyboard.readInt();
a=d/100;
b=d%100/10;
c=d%10;
e=c*100+b*10+a;
System.out.println("the changed number is: "+e);
}
}

此题可以用多种语言来解释,C语言,JAVA,VB,等多种方法,如果你是刚刚学基础言,可以用C语言或是VB,这种方法可以适用与输入任意一个3位数。
第2个回答  推荐于2016-10-12
你C语言么
用c语言编写:
#include<stdio.h>
main()
{
int a,b,c,e;
printf("请输入一个三位正整数: ");
scanf("%d",&a);
b=a%10;
c=(a/10)%10
e=a/100;
printf("%d%d%\n",b,c,e);
}
就可以拉本回答被提问者采纳
第3个回答  2007-04-24
program NO;
var a:array[1..3] of integer;
s,i:integer;
begin
write('请输入一个三位数:');
readln(s);
i:=1;
while s>0 do
begin
a[i]:=s mod 10
s:=s div 10;
i:=i+1;
end;
for i:=1 to 3 do
write(a[i]);
end.
用c语言编写:
#include<stdio.h>
main()
{
int a,b,c,e;
printf("请输入一个三位正整数: ");
scanf("%d",&a);
b=a%10;
c=(a/10)%10
e=a/100;
printf("%d%d%\n",b,c,e);
}
第4个回答  2007-04-24
什么语言.有的语言直接有倒置这个函数.直接调用就可以了.

如何编写一个例如输入一个三位数123使其输出结果是321的程序
include <stdio.h>int reversei(int i)\/\/将整数i中的各个数位逆序,并将逆序后的结果存入\/\/整数result返回 {int result = 0;while(i>=10){\/\/以下利用整数i除以10的余数,取出个位数字,存入结果中 result += (i % 10);result *= 10;i = i \/ 10; \/\/舍弃最右侧的一位数 }result += ...

如何用C语言输入123,输出321
程序如下:include<stdio.h> main(){ intx,b0,b1,b2,s;printf("inputx:");scanf("%d",&x);b2=x\/100;b1=(x-b2*100)\/10;b0=x%10;s=b0*100+b1*10+b2;printf("s=%d\\n",s);}

编写程序:从键盘输入一个三位数的整数,要求将该数的反向序列输出。如输...
char *q=s;while(*q!='\\0'){ k++;q++;} j=k-1;for(i=0;i<=(k-1)\/2;i++,j--){ n=*(s+i);(s+i)=*(s+j);(s+j)=n;} } void main(){ char str[80],*p=str;printf("请输入");scanf("%s",p);printf("你输入的字符串是:\\n");printf("%s\\n",p);invert...

求助:编写C语言,输入一个三位数(如123),然后输出结果是321.谢谢啦
测试通过,几位都可以,只要在int允许范围内 int reverse(int n){ int m=0;int k=0;while (n>0){ k=n%10;m = m*10+k;n = n\/10;} return m;} void main(){ int n;scanf("%d",&n);printf("%d\\n",reverse(n));} ...

C语言:任意输入一个三位整数,然后逆序输出。如123变为321。
include <stdio.h> int main(void){ int a,b,c,d,e;printf("请输入一个三位数:");scanf("%d",&a);b = a\/100;c = (a-b*100)\/10;d = a-b*100-c*10;e = d*100+c*10+b;printf("逆序输出:%d", e);return 0;} ...

编写程序,从键盘输入一个三位数,求出其逆序数并输出,例如输入123,输出32...
return Integer.toString(last)+reverse(a\/10);\/\/递归输出最后一位和前面的倒序数字 } public static void main(String[]args){ int x=123023040;String rev=reverse(x);System.out.println(rev);System.out.println(reverse(123));} } 输出结果:1、040320321 2、321 ...

用C++编写序输入任意一个三位数,将其各位数字按逆序输出(例如:输入数据...
第一步是先对 123除以10取余数,这样就会得到3;第二步是把123除以10取整,得到12,然后再把3*10+12%10,得到32;第三步是把12除以10取整,得到1,然后再把32*10+1%10,得到321,然后一直重复,直到原来的那个数为零。具体的代码如下: 【程序代码】#include <iostream> \/\/控制台操作头文件...

编程从键盘输入一个三位数,将它们逆序输出。如输入123,输出321.谢谢...
void main(){int x,a,b,c;cin>>x;a=x\/100;b=x\/10%10;c=x%10;cout<<c*100+b*10+a<<endl;例如:include<stdio.h> int main(){ int a,b,c,t;scanf("%d",&a);b=a%10;c=(a-b)%100;t=a\/100;printf("b=%dc=%dt=%d",b,c,t);return 0;} ...

...将其各位数字反序输出(例如输入123,输出321).
代码如下:include <stdio.h> void main( ){int a,b,c,d;scanf("%d",&a);b= a\/100;c= (a%100) \/10;d=a%10;printf("%d",100*d+10*c+b);}

3. 编一程序,从键盘输入一个三位数,求出其逆序数并输出,例如输入123...
h> void main(){ char num[100],i;int k=0; \/\/计算数组位数 printf("请输入数组\\n");for(i=0;i<100;i++){ scanf("%c",&num[i]);k++;if(num[i]=='\\n'){ break; \/\/ 当输入回车时退出循环 } } for(i=k-2;i>=0;i--){ printf("%c ",num[i]);} } ...

相似回答