7-3 逆序的三位数
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式
每个测试是一个3位的正整数。
输出格式
输出按位逆序的数。
输入样例
123
输出样例
321
分析及答案
可以采用双向链表或者数组解决,这道题只读取一个3位正整数并进行经过处理的逆序输出,采用链表有点太重了,直接用数组即可。将输入的每一位取出,然后从后往前找到第一个非0的数开始往回输出即可。
#include <stdio.h>
int main(){
int input,num[3]={0},i=0, j;
scanf("%d",&input);
for (i=0,j=100;i<3;i++,j/=10){
num[i] = input / j;
input = input % j;
}
i = 2;
//从后往前找到第一个非0的数
while (i>=0) {
if (num[i]!=0)
break;
i--;
}
for (;i>=0;i--) {
printf("%d",num[i]);
}
return 0;
}