题目描述
给出一个不多于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; }