藍橋杯題目 1009: [程式設計入門]數字的處理與判斷
題目描述
給出一個不多于5位的整數,要求 1、求出它是幾位數 2、分别輸出每一位數字 3、按逆序輸出各位數字,例如原數為321,應輸出123
輸入
一個不大于5位的數字
輸出
三行 第一行 位數 第二行 用空格分開的每個數字,注意最後一個數字後沒有空格 第三行 按逆序輸出這個數
樣例輸入
12345
樣例輸出
5
1 2 3 4 5
54321
參考代碼:
import java.util.Scanner;
public class Test7 {
public static void main(String[] args){
Scanner sc =new Scanner(System.in);
int a=sc.nextInt(); //a為輸入的數字
int[] b=new int[5]; //建立一個大小為5的數組
int c=0,d,e; //定義c的初始值,将a的值指派給d備用
d=a;
while(d>0){ //while循環找出輸入的a是幾位數并指派給c
d=d/10;
c++;
}
System.out.println(c); //輸出c(輸入的數字是幾位數)
for(int i=0;i<c;i++){ //利用for循環
int f=1; //定義一個f讓每一遍的f都重新變為1,為下面的for循環提供便利
for(int j=0;j<c-i-1;j++){ //利用for循環計算出正好除以的10的幾次方
f=10*f; //例如當a=12345時就除以10的4次方
}
e=a/f; //将e變為a/f
a=a%f; //将a進行除餘,例如a=12345第一次除餘後變為2345
b[i]=e; //将e指派給b數組
if(i<c-1){
System.out.print(b[i]+" "); //之前的輸入後面都加一個空格
}
else {
System.out.println(b[i]); //最後的輸入不加空格
} //強調一點“print”輸出時不會換行“println”輸出時會換行
}
for(int v=0;v<b.length;v++){
if(b[b.length-v-1]>0){
System.out.print(b[b.length-v-1]); //倒着輸出數組
}
}
}
}