package 蓝桥杯java算法训练;
import java.util.Scanner;
public class _5乘法运算 {
public static void main(String[] args) {
// 输入x,y
// 1.先看y是1位还是两位
// 2.若y是1位,则直接按序输出,但是第二行输出y时,前面加一个空格
// 2.1看x*y结果,结果一定要留三位,结果为一位数字则补两个空格,结果为两位,补一
//个空格,结果为三位直接输出
// 3.若y是2位,则分成十位数字s和个位数字g,分别乘以x结果为sx,gx。看十位相乘的结果去
//判断到底有几个空格
// 3.1若sx为两位,则x和y不用加空格,最后乘积的结果为三位,不够补空格
// 3.2若sx为三位,输入的x前加一个空格,y前也加一个。结果为4位数字,不够补空格
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();//输入x,第一个乘数
int y = scanner.nextInt();//输入y,第二个乘数
//现在分为两种情况 y>=10和y<10
if (y >= 10) {
//将y拆分了
int s = y/10;//十位数字
int g = y%10;//个位数字
//分别计算与x的乘积
int sx = s*x;
int gx = g*x;
//看十位与x的乘积的位数
if (sx >= 100) {//三位,前面补空格
System.out.println(" "+x);
System.out.println(" ×"+y);
System.out.println("━━━");
//现在要看个位数字和x相乘需要补几个0了
if (gx==0) {
System.out.println(" 0"+gx);
}else if (gx <10) {
System.out.println(" "+gx);//补三个空格
}else if (gx <100) {
System.out.println(" "+gx);//补两个空格
}else {
System.out.println(" "+gx);//补一个空格
}
System.out.println(sx);
System.out.println("━━━");
int num = x*y;
//看结果需要补全几个空格
if (num<10) {
System.out.println(" "+num);
}else if (num <100) {
System.out.println(" "+num);
}else if (num <1000) {
System.out.println(" "+num);
}else{
System.out.println(num);
}
}//sx>=100结束
else{//sx<100
System.out.println(x);
System.out.println("×"+y);
System.out.println("━━━");
if (gx==0) {
System.out.println(" 0"+gx);
}else if (gx<10) {
System.out.println(" "+gx);
}else if (gx<100) {
System.out.println(" "+gx);
}else {
System.out.println(gx);
}
System.out.println(sx);
System.out.println("━━━");
int num = x*y;
if (num<10) {
System.out.println(" "+num);
}else if (num <100) {
System.out.println(" "+num);
}else{
System.out.println(num);
}
}//sx<100结束
}//y>=10结束
else{//y<10
System.out.println(x);
System.out.println("× "+y);
System.out.println("━━━");
int num = x*y;
if (num<10) {
System.out.println(" "+num);
}else if (num<100) {
System.out.println(" "+num);
}else {
System.out.println(num);
}
}//y<10结束
}
}
原文:http://www.cnblogs.com/zhangxue521/p/6323352.html