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;
}

7-3 测试点