题目 1489: [蓝桥杯][算法提高VIP]乘法运算(注意格式)

题目描述

编制一个乘法运算的程序。
从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。

样例输入
16 8
样例输出
16
× 8
━━━
128
8×16=128,则第四行128右侧对准个位输出。计算完成,不再输出。

再例如:

输:

87x76
输出:

87
×76
━━━
522
609
━━━
6612

输入
输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99)。
输出
输出为4行或7行,符合乘法的竖式运算格式。

**注意,**乘号和下划线为特殊符号,可以从样例中复制黏贴。

样例输入
5 2
样例输出
5
× 2
━━━
10

解题思路:

这道题的格式很重要,格式稍微不对判题机就过不了,所以注意格式细节

代码如下:

import java.util.Scanner;

/**
 * 乘法运算
 * @author hf
 *
 */
public class Cyyw1489 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		// 先打印前三行
		System.out.println(String.format("%4d", a));
		System.out.println("×"+String.format("%2d", b));
		System.out.println("━━━");
		// 当b是两位数需要添加的部分
		if (b >= 10) {
			// 当尾数为0时
			if (b % 10 == 0) {
				System.out.println("  00");
			} else { // 尾数上得到的乘数
				System.out.println(String.format("%4d", a*(b%10)));
			}
			// 首位上得到的乘积
			System.out.println(String.format("%3d", a*(b/10)));
			System.out.println("━━━");  
		}
		System.out.println(String.format("%4d", a*b)); //乘积结果值
		sc.close();
	}
}

运行示例:

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值