C语言输入一个正整数n,将其逆序输出。例如输入123,则程序将输出321

如题所述

C语言输入一个正整数n,将其逆序输出:

#include<stdio.h>

#include<stdlib.h>

int main(){

int a;

while(scanf("%d",&a)!= EOF){

while(a>0){

printf("%d",a%10);

a = a/10;

}

printf("\n");

}

return 0;    

}

运行结果如下:

扩展资料:

算法:

首先判断输入的正整数的位数,(例如1000=n<9999)

然后输出m(注意,C语言里方括号是取整运算符号)

//因为是整型运算,其实方括号可以省去

m=[n/1000]; //【取出千位】

n-=1000*[n/1000]; //【n只剩下三位】

m+=10*[n/100]; //【取出百位】

n-=100*[n/100]; // 【n剩下两位】

m+=100*[n/10]+1000*(n-[n/10]); //【取出十位】

printf("d%",m);

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-19

#include<stdio.h>

#include<stdlib.h>


int main(){

    int a;

    while(scanf("%d",&a)!= EOF){

        while(a>0){

        printf("%d",a%10);

        a = a/10;

        }

        printf("\n");

    }

    return 0;    

}

运行结果:

本回答被网友采纳
第2个回答  2018-02-19
代码就不给你写了,提供算法吧。
首先判断输入的正整数的位数,(例如1000=n<9999)
然后输出m(注意,C语言里方括号是取整运算符号)
//因为是整型运算,其实方括号可以省去

m=[n/1000]; //【取出千位】
n-=1000*[n/1000]; //【n只剩下三位】
m+=10*[n/100]; //【取出百位】
n-=100*[n/100]; // 【n剩下两位】

m+=100*[n/10]+1000*(n-[n/10]); //【取出十位】
printf("d%",m);
第3个回答  2018-02-19

从后面往前面一位一位输出

#include<stdio.h>
int n;
int main()
{
scanf("%d",&n);
if(n<0){ // 负数 
printf("-");
n=-n;
}
if(n==0) //特判0 
printf("0");
else{
int ans=0;
while(n>0){ //一位一位地输出到ans里 
ans=ans*10+n%10;
n/=10;
}
printf("%d",ans);
}
return 0;
}

第4个回答  推荐于2017-09-29
用不着递规。
#include <stdio.h>

int main()
{
int n = 123;
while( n != 0 )
{
printf("%d",n%10);
n=n/10;
}
printf("\n");
return 0;
}本回答被提问者采纳

C语言输入一个正整数n,将其逆序输出。例如输入123,则程序将输出321
C语言输入一个正整数n,将其逆序输出:include<stdio.h> include<stdlib.h> int main(){ int a;while(scanf("%d",&a)!= EOF){ while(a>0){ printf("%d",a%10);a = a\/10;} printf("\\n");} return 0;} 运行结果如下:

c++语言编程将输入的正整数按反序输出,例如:输入123,则输出321。
void main(){ long n,m;cout<<"请输入任意整数";cin>>n;do { m=n%10; cout<<m; n\/=10;} while(n);} 方法二:递归函数 void fan(int n){ if(!n)return;cout<<n%10;fan(n\/10);}

C语言问题!!输入一个整数,将它逆序输出。。例如reverse(123)的返回...
1、C 表示将输入的整数n传给reverse函数 2、C 表示定义一个long型变量res,并初始化 3、B 表示主函数(main)穿进来的值,如果为负数,则取反 4、B 倒置传入的参数number,res*10表示将原来res乘以10,再加上number%10;比喻说你传的是123,而res的初始值是0,123%10=3,那么res=...

...输入的正整数按反序输出,例如:输入123,则输出321。
include<stdio.h> void main(){ int x,y,sum=0;printf("请输入一个正整数:");scanf("%d",&x);while (x>0){ y=x%10;x=x\/10;sum=sum*10+y;} printf("反序为:%d",sum);}

已解决 c语言怎么写逆序数字。如123输出321
void main(){ int digits=0;\/\/位数 int i=0;long int temp;long int number;\/\/输入的数据 int a[5];\/\/存储各位 printf("Input a postive interger!\\n");scanf("%ld",&number);if((number<0)||(number>=100000)){ printf("Input Error!\\n");return;} temp=number;while(temp!=0)...

C语言 怎么弄逆序输出 123变为321 现在先是为0
include<stdio.h> int main(){ int x,y;scanf("%d%d",&x,&y);printf("%d\\n\\n",re(x));printf("%d\\n\\n",re(y));return 0;} int re(int n){ int m,res;res=0;if(n<0)m=-n;else m=n;while(m!=0){ res = res*10+m%10;m=m\/10;} if(n>0)return res;else r...

c语言中从标准输入上读入整数正整数n,使用递归函数逆序输出n的各位数 ...
include <stdio.h>int main(){ int a, t; scanf ("%d", &a); t = 0; while (a){ t= t*10+a%10; a\/=10; } printf("%d\\n", t); return 0;}

...输入一个三位正整数,然后逆序输出。如输入123,则输出321。 我写的...
不用调换那么麻烦,你输出的时候倒序输出就可以了 for(i=2;i>=0;i--){ printf("%d",a[i]);}

C语言 怎么弄逆序输出 123变为321 现在先是为0
你好,以下是满足您要求的代码,望采纳,谢谢 include int main(){ int x,y;scanf("%d%d",&x,&y);printf("%d\\n\\n",re(x));printf("%d\\n\\n",re(y));return 0;} int re(int n){ int m,res;res=0;if(n<0)m=-n;else m=n;while(m!=0){ res = res*10+m%10;m=m\/...

输入一个3位正整数,以倒序形式输出它的各位数(如输入123,输出321)
lz 你好 具体代码如下:include<stdio.h>void reverse(int n){\/\/当n不为零时继续while(n){\/\/输出当前n的个位数字printf("%d", n%10);n \/= 10;}printf("\\n");}int main(){int n;scanf("%d", &n);\/\/逆序nreverse(n);return 0;} 希望能帮助你哈 ...

相似回答