程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
输出:321
#include <stdio.h>
int main ()
{
int N,n,num;//N是正序数,num是倒叙数
scanf("%d",&N);
n=N;
int i,m;
int a[3]={0};
for (i=0;i<3;i++)
{
m=n%10;
int b=0;
while(b<m)//使数组存上数,a[0]存个位,a[1]百位,a[3]千位
{
a[i]++;
b++;
}
n=n/10;//和 m=n%10;相配合推进位数,除一次进一位
}
num=a[0]*100+a[1]*10+a[2];//形成倒叙数
printf("%d",num);
return 0;
}
思考:原来想用循环输出数组的数,结果700没办法转到7,输出都是007,外面用了一个for(3次),当a[0],a[1]都为0的时候只输出a[3].结果不得,就算是因为for的原因输出三次也应该是777,不知道怎么出来是007,最后还是用这种最简单的方法就能完美解决了。