输入
无。
输出
输出三个乘法表,按照完整乘法表、下三角乘法表、上三角乘法表的顺序输出,每个表中间空一行。
对于每个乘法表,首行升序输出的 1 到 9 数与数之间恰好有三个空格,接下来 10 行每栏内容都需要和首行对应的栏目左对齐。
#include<cstdio>
using namespace std;
int main() {
char div = '_';
for (int i = 1; i <= 9; ++i) {
if (i == 9) {
printf("%-3d\n", i);
}
else if (i == 1) {
printf("%-3d ", i);
}
else {
printf("%-3d ", i);
}
}
for (int i = 1; i <= 9; ++i) {
if (i == 1) {
printf("%-3c ", div);
}
else {
printf("%-3c ", div);
}
}
printf("\n");
for (int i = 1; i <= 9; ++i) {
for (int j = 1; j <= 9; ++j) {
if (j == 9) {
printf("%-3d\n", i * j);
}
else if (j == 1) {
printf("%-3d ", i * j);
}
else {
printf("%-3d ", i * j);
}
}
}
printf("\n");
//down
for (int i = 1; i <= 9; ++i) {
if (i == 9) {
printf("%-3d\n", i);
}
else {
printf("%-3d ", i);
}
}
for (int i = 1; i <= 9; ++i) {
if (i == 1) {
printf("%-3c ", div);
}
else {
printf("%-3c ", div);
}
}
printf("\n");
for (int i = 1; i <= 9; ++i) {
for (int j = 1; j <= 9; ++j) {
if (i >= j) {
printf("%-3d", i * j);
}
else {
printf(" ");
}
if (j == 9) {
printf("\n");
}
else {
printf(" ");
}
}
}
printf("\n");
//up
for (int i = 1; i <= 9; ++i) {
if (i == 9) {
printf("%-3d\n", i);
}
else if (i == 1) {
printf("%-3d ", i);
}
else {
printf("%-3d ", i);
}
}
for (int i = 1; i <= 9; ++i) {
if (i == 1) {
printf("%-3c ", div);
}
else {
printf("%-3c ", div);
}
}
printf("\n");
for (int i = 1; i <= 9; ++i) {
for (int j = 1; j <= 9; ++j) {
if (i <= j) {
printf("%-3d", i * j);
}
else {
printf(" ");
}
if (j == 9) {
printf("\n");
}
else {
printf(" ");
}
}
}
}