这道题要求根据输入的正整数 n(1 ≤ n ≤ 9),打印对应的 n×n 乘法表,并且格式要与样例完全一致:
1*i 到 i*i 的所有乘法式;a*b=c 的形式(中间不带空格);核心实现方法:
使用两层循环(经典“嵌套循环”算法):
对于每一对 (j, i),计算乘积 j * i,组成字符串 j*i=结果。
每一行可以先把所有式子存入一个列表(或数组),最后用空格连接输出,这样可以避免在行末多输出一个空格。
这个过程本质上是一个简单的枚举算法(双重循环枚举所有 1 ≤ j ≤ i ≤ n 的组合)。
在 n ≤ 9 的范围内,这样的复杂度非常合适。
# 功能函数:打印 n×n 乘法表
def print_multiplication_table(n):
# 外层循环控制行数,从 1 到 n
for i in range(1, n + 1):
row = [] # 用列表存储当前行的所有式子
# 内层循环控制每行的列数,从 1 到 i
for j in range(1, i + 1):
# 生成一个乘法式字符串,例如 "1*3=3"
expr = f"{j}*{i}={j * i}"
row.append(expr)
# 用一个空格连接当前行的所有式子后输出
print(" ".join(row))
if __name__ == "__main__":
# 从标准输入读入一个整数 n
n = int(input().strip())
# 调用函数打印乘法表
print_multiplication_table(n)
import java.util.Scanner;
public class Main {
// 功能函数:打印 n×n 乘法表
public static void printMultiplicationTable(int n) {
// 外层循环控制行数,从 1 到 n
for (int i = 1; i <= n; i++) {
StringBuilder sb = new StringBuilder();
// 内层循环控制每行的列数,从 1 到 i
for (int j = 1; j <= i; j++) {
// 生成一个乘法式,例如 "1*3=3"
String expr = j + "*" + i + "=" + (j * i);
if (j > 1) {
// 式子之间加入一个空格
sb.append(" ");
}
sb.append(expr);
}
// 输出当前行
System.out.println(sb.toString());
}
}
public static void main(String[] args) {
// 使用 Scanner 从标准输入读入 n
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
// 调用函数打印乘法表
printMultiplicationTable(n);
scanner.close();
}
}
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 功能函数:打印 n×n 乘法表
void printMultiplicationTable(int n) {
// 外层循环控制行数,从 1 到 n
for (int i = 1; i <= n; i++) {
// 内层循环控制每行的列数,从 1 到 i
for (int j = 1; j <= i; j++) {
// 输出乘法式,例如 "1*3=3"
cout << j << "*" << i << "=" << j * i;
// 如果不是当前行最后一个式子,则输出一个空格分隔
if (j < i) {
cout << " ";
}
}
// 每行结束换行
cout << "\n";
}
}
int main() {
int n;
// 从标准输入读入一个整数 n
cin >> n;
// 调用函数打印乘法表
printMultiplicationTable(n);
return 0;
}
键盘输入一个正整数 n,打印对应的乘法表。
例如键盘输入 3,则打印 3×3 乘法表
1∗1=1
1∗2=2 2∗2=4
1∗3=3 2∗3=6 3∗3=9
输入1−9 之间的任意一个正整数 n
输出对应的乘法表。
例如键盘输入 3,则打印 3×3 乘法表
1∗1=1
1∗2=2 2∗2=4
1∗3=3 2∗3=6 3∗3=9
要求:数字和符号之间空格隔开,式子和式子之间使用 4 个空格隔开
输入
3
输出
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
本题属于以下题库,请选择所需题库进行购买