1009: [编程入门]数字的处理与判断

题目描述
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
输入
一个不大于5位的数字
输出
三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
样例输入
12345
样例输出
5
1 2 3 4 5
54321

c语言代码:
// 数字的处理与判断:
#include<stdio.h>
int main(){
    int num,invert_order;
    scanf("%d", &num);
    int num_cal = num; //使用num_cal带入计算
    int bit_sum=0;  //存放总位数
    int arr[5];  //存放倒数
    if(num_cal/10 == 0){
        printf("1\n");
        printf("%d \n",num_cal);
        printf("%d", num_cal);
    }else{
        while(num_cal/10!=0||num_cal%10!=0){
            bit_sum++;
            if (bit_sum == 1) invert_order = num_cal % 10;
            else if (bit_sum > 1) invert_order = invert_order * 10 + num_cal % 10;//计算倒数
            num_cal = num_cal/10;
        }
        int i, temp = invert_order;
        for(i = 0; i<bit_sum; i++){
            arr[i] = temp % 10;
            temp = temp / 10;
        }
        printf("%d\n",bit_sum);
        for(i = 0; i<bit_sum; i++){
            printf("%d ", arr[i]);
        }
        printf("\n");
        printf("%d\n", invert_order);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/cainiaoxuexi2017-ZYA/p/10958208.html