C语言问题,输入一个不大于5位的数,交换其各个位上数的位置。例如:输入12345,要求输出54321

想了很久做不好,求哪位指导指导,谢谢!

用一个数组依次保存每一位的值,然后输出就成了。
如a=12345,tmp = a
循环处理,直到tmp == 0;
tmp%10 = 5,将5保存
tmp = a/10;

将保存的内容输出就行了……
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-29
#include <stdio.h>
void main(){
int i ,n=5,a[5]={1,2,3,4,5};
int temp,*p1,*p2;

printf("the orginal array:\n");
for(p1=a;p1<a+n;p1++)
printf("%3d",*p1)
printf("\n");

p1=&a[0];
p2=&a[5];
for(i=0;i<n/2;i++)
{
temp=*p1;
*p1=*p2;
*p2=*p1;
*p2=temp;
p1++;
p2--;
}

printf("the array has been inverted:\n");
for(p1=a;p1<a+n;p1++)
printf("%3d",*p1);
printf("\n");

}
第2个回答  2016-01-18

...几位数,并按正反顺序显示出各位数.如:输入12345,输出:n=5,12345...
void main(){long i,j=0,m;int n=0;printf("请输入一个不大于5位的整数:\\n");scanf("%ld",i);m=i;while(m>0){j=m%10+j*10;m=m\/10;n++;} printf("n=%d,%ld,%ld",n,i,j);}

...并逆序输出每一位的数字,请用最基本的。c语言程序编写,(
例如:12345,5、4、3、2、1,都可以的。

c语言写程序 题目:不超过5位的正整数,如12345。判别正整数是几位数...
scanf("%d",&a);c=a;while(c){ ln++;b=b*10+c%10;c\/=10;} 输出自己写

...如何实现输入一个整数,将各位数颠倒,如输入12345,输出54321;输入-456...
n=n\/10;这个位置就不对了,如果输入750,想想看会是什么结果!for(;m%10!=0;k--)也和上边的错误有异曲同工之妙,嘿嘿……以下是我刚写的一个函数,你试试吧。int swapInt(int p){ int num=0;while( p != 0 ){ num = num*10+p%10;p \/= 10;} if (p<0){ return num*(-...

...一个五位正整数,逆序输出每一位上的数 如输入54321 输出12345...
\/(int) 结果为int 2: 待执行ser函数后,输出结果个位数 12345 % 10 = 5 3: 第二次执行ser函数...类比步骤1 4: 待递归执行ser函数,类比步骤2,输出十位个数 1234 % 10 = 4 5: 类比步骤1 6: 类比步骤2,输出百位个数 123 % 10 = 3 7: 类比步骤1 8: 类比步骤2,输出千位 12 %...

如何用C语言输出一个不多于5位的正整数的每一位数字
先来个if把这个数分成1位数,两位数,三位数,四位数,五位数的情况,然后对每个种情况相应处理,比如这个数是五位数,就设置数符A=N\\10000,B=N\\1000...等等,把这五个数符弄出来打印,其他情况同样处理。。。不过这个方法很笨拙。。并且不适于N十分大的情况,且程序代码是一堆废话,顶多就是个...

...逆序输出每一数位上的数字 如输入12345 输出5 4 3 2 1
输入一个整数,将其每位剥离,并记录在一个数组中,此时每位数即是逆序排列的。include <stdio.h>#define ARRAY_LEN 100 \/*数组长度*\/void numToDigit (int num, int arr[]) { \/*将数字按位剥离并存储在数组中,该算法剥离出的每位数即是逆序排列的*\/int i,j,n;for (i = 0, n = num...

C语言中输入数组12345怎样输出数字12345?
define N 5 include<stdio.h> void main(){ int arr[N],i;printf("Enter %d numbers:\\n",N);for(i=0;i<N;i++)scanf("%d",&arr[i]);for(i=0;i<N;i++)printf("%5d",arr[i]);} 你看到办!!!

...是:输入一个五位数,将它反向输出。例如,输入12345.输出应为54321_百...
include<stdio.h>#include<string.h>int main(){ char c[1000]; gets(c); for(int i=strlen(c)-1;i>=0;i--) printf("%c",c[i]);}

c语言由键盘任意输入一个整型数据,将其倒置,如输入12345,则输出...
include <stdio.h>int main(void) {long n,m;scanf("%ld",&n);for(m=0;n;n\/=10){m=m*10+n%10;}printf("%ld\\n",m);return 0;}

相似回答