C语言里输入一个正整数,如何让它逆序输出?

C语言里输入一个正整数,如何让它逆序输出?

int main()

{

int i=12345; //定义一个12345的整数

int temp=0;//temp作为存储的值

while(i!=0){

temp = temp*10 + i%10;

i/=10;  

}  //反序取出来

printf("%d",temp); //打印

return 0;

}

扩展资料:

反之正序输出

输入 : 12345

输出 :"12345"

char str(int x)

{

char a[100];//存放整数转换过来的字符

int i;   //计数

if(x/10!=0)

str(x/10);

if(x>=0)

a[i]='0'+x%10;  //整数转换成字符存储,字符都是以整数形式存储

else

a[i]='0'+(-x)%10;//整形包括负数

printf("%c",a[i++]);

}

int main()

{

int i;

printf("请输入一个整数:\n");

scanf("%d",&i);

str(i);

return 0;

}

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

可以通过数组保存正整数的从最低位到最高位的每一位数值,之后输出数组元素即可。


具体实现方法可以参考如下程序:

#include<stdio.h>
void main()
{
    int num, a[10], i, k=0;
    printf("请输入一个正整数:");
    scanf("%d", &num);
    // 分离正整数的每一位,并存放到数组a中
    while(num>0)
    {
        a[k++] = num%10;  // 将正整数的最低位保存到数组a中
        num /= 10;        // 将正整数的次低位变为最低位
    }
    // 输出数组的每个元素,即实现逆序输出正整数
    for(i=0; i<k; i++)
        printf("%d", a[i]);
}

第2个回答  推荐于2017-10-05
假设输入的数为n,逆序输出的是converse用以下循环就可以了
for(i=n;i>0;)
{
m=i%10;
i/=10;
converse=m+converse*10;
}
具体代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,m,converse;
scanf("%d",&n);
i=n;converse=0;
while(i>0)
{
m=i%10;
i/=10;
converse=m+converse*10;
}
printf("%d",converse);

}本回答被提问者采纳
第3个回答  2012-04-01
#include <stdio.h>
main()
{
int i,j;
scanf("%d",&i);
j=i%10;
printf("%d",j);
while(j>0)
{
i/=10;
j=i%10;
printf("%d",j);
}
}
第4个回答  2009-10-28
#include<stdio.h>
void main()
{int a,b;
scanf("%d",&a);
b=a%10;
printf("%d ",b);
a=a/10;
printf("\n");
}

C语言里输入一个正整数,如何让它逆序输出?
int main(){ int i=12345; \/\/定义一个12345的整数 int temp=0;\/\/temp作为存储的值 while(i!=0){ temp = temp*10 + i%10;i\/=10;} \/\/反序取出来 printf("%d",temp); \/\/打印 return 0;}

用C语言输入一个正整数n,将其逆序输出?
```c include <stdio.h> int main() { int n, rev = 0;printf("请输入一个正整数:");scanf("%d", &n);while(n != 0) { rev = rev * 10 + n % 10;n \/= 10;} printf("逆序输出为:%d\\n", rev);return 0;} ```代码的思路是先定义一个变量n来存储输入的正整数,然后...

将一个正整数逆序输出(C语言
a=num%10就是输出数字的最后一位然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。

如何用C语言编写一个程序“输入任意输入一个正整数,反序输出每一位...
include \\x0d\\x0aint main()\\x0d\\x0a{ \\x0d\\x0a int n; \\x0d\\x0a scanf("%d", &n); \\x0d\\x0a do \\x0d\\x0a { \\x0d\\x0a printf("%d", n % 10); \\x0d\\x0a }while(n \/= 10);\\x0d\\x0a printf("\\n");\\x0d\\x0a return 0;\\x0d\\x0a} ...

求一个C语言程序:输入正整数,要求以相反数顺序输出该数求详解
\/*求一个C语言程序:输入正整数,要求以相反数顺序输出该数。如输入1234,输出4321.*\/ include "stdio.h"void main(){ int n,m,r;printf("请输入1个正整数:");scanf("%d",&n);m=n;printf("\\n正整数%d反序输出为:",n);while(m){ r=m%10;printf("%d",r);m=m\/10;} } ...

C语言题目。输入一个不多于4位的正整数,求它的位数,并按逆序输出各位数...
输入一个不多于4位的正整数,求它的位数,并按逆序输出各位数字,可以参考下面的代码:include<stdio.h> int main(){ int n, ans = 0;scanf("%d", &n);printf("逆序输出:");while(n != 0){ int t;t = n % 10;n \/= 10;ans++;printf("%d ", t);} puts("");printf("位数...

C语言程序题:从键盘输入一组正整数,以0或负数为结束标志,反向输出这组...
int a[50],num,i;int *p;printf("请输入若干个正整数\\n");p=a;for(i=0;i<50;i++,p++){ scanf("%d,",p);if(*p<=0){ p--;num=i;break;} } printf("\\n反序输出:\\n");for(i=0;i<num;i++,p--)printf("%d ",*p);return 0;} \/ 以上代码经C++编译器编译后运行...

C语言编程题:怎样逆序输出数字
h>int main(){ int num, a[10], i, k=0; printf("请输入一个正整数:"); scanf("%d", &num); \/\/分割正整数的每一位,并存放到数组a中 while(num>0) { a[k++] = num%10; \/\/ 将正整数的最低位保存到数组a中 num \/= 10; \/\/ 将正整数的次低...

用C语言编程,输入一个正整数,要求以相反的顺序输出该数。例如输入12345...
include <stdio.h> main(){ int i;char s[1000];gets(s);for(i=strlen(s)-1;i>=0;i--)printf("%c",s[i]);system("PAUSE");}

C语言怎么反序输出
最简单的反序输出,就是把数组反序输出。只需要从最大下标开始,向0下标循环输出就可以了。比如将字符串(字符数组)反序输出的代码如下:void reverse_output_str(char *str){ int len = strlen(str) -1;\/\/得到最大下标 while(len >= 0)printf("%c", str[len--]); \/\/反序输出直到...

相似回答