首页 > 试题广场 >

乘法表

[编程题]乘法表
  • 热度指数:29810 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输出九九乘法表。
具体的输出格式见样例,其中每一项乘法的结果需要占据2个字符宽度,不同的乘法结果之间用1个空格间隔。
举例:
1*4=_4_2*4=_8_3*4=12_4*4=16
上述语句的每一个 _  都代表一个空格。

输入描述:
此题没有输入


输出描述:
输出乘法表,对齐方式见样例输出
示例1

输入

输出

1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
#include <iostream>
using namespace std;

int main()
{
    for (int i = 1; i <= 9; i ++ )
    {
        for (int j = 1; j <= i; j ++)
        {
            printf("%d*%d=%2d ", j, i, j * i);
        }
        cout << endl;
    }
        
}

发表于 2022-02-26 14:16:58 回复(0)
#include <stdio.h>
//我知道这很难绷,但it just works
int main() {
    printf("1*1= 1\n1*2= 2 2*2= 4\n1*3= 3 2*3= 6 3*3= 9\n1*4= 4 2*4= 8 3*4=12 4*4=16\n1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25\n1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36\n1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49\n1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64\n1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81");
return 0;
}
发表于 2024-11-16 15:51:06 回复(0)
#include<stdio.h>
int main(){
    //i取 1、2、3、4、5、6、7、8、9
    for(int i=1;i<10;i++){
        //j每次从 1 开始,j取 1、1~2、1~3、1~4、1~5、1~6、1~7、1~8、1~9
        for(int j=1;j<=i;j++){
            printf("%d*%d=%2d ",j,i,i*j);    //输出结果占据2个字符宽度
        }
        printf("\n");    //1行结束换行
    }
    return 0;
}

发表于 2022-06-14 17:42:25 回复(0)
#include <stdio.h>
int main() {
    for (int j = 1; j <= 9; j++) {
        for (int k = 1; k <= j; k++) {
            printf("%d*%d=%2d ", k, j, k * j);}
        printf("\n");}
    return 0;
}

发表于 2025-02-11 13:56:53 回复(0)
#include <stdio.h>
//一位数字前有空格,两位没有
int main() {
    for(int i=1;i<=9;i++){
        for(int j=1;j<=i;j++){
            printf("%d*%d=%2d ",j,i,i*j);
        }
        printf("\n");
    }
    return 0;
}

发表于 2024-02-06 23:41:33 回复(0)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    for (int i = 1; i < 10; i++)
    {
        int a = i;
        int b = 1;
        while (a)
        {
            if (b * i <= 9)
            {
                printf("%d*%d= %d ", b, i, b * i);
            }
            else
            {
                printf("%d*%d=%d ", b, i, b * i);
            }
            b++;
            a--;
        }
        printf("\n");
    }
    return 0;
}
编辑于 2024-01-21 22:19:14 回复(1)
#include <stdio.h>
int main (void)
{
    int a, b;
    for (a = 1; a <= 9; a++)
    {
        for (b = 1; b <= a; b++)
        {
            printf("%d*%d=%2d ", b, a, b*a);//注意数据相乘的前后顺序
        }
        printf("\n");
    }
    return 0;
}

发表于 2022-08-06 07:55:39 回复(1)
for i in range(1,10):
    for j in range(1,i+1):
        s = i*j
        print("{0}*{1}={2}".format(j,i,'%2d'%s),end=' ')
    print()

发表于 2022-07-12 15:25:01 回复(0)
按行打印
#include <stdio.h>

int main() {
    int i = 1;
    for(i = 1;i<10;i++)
    {   
        int j = 1;
        for(j = 1;j<=i;j++)
        {
            printf("%d*%d=%2d ",j,i,j*i);
        }
        printf("\n");
    }
    return 0;
}


发表于 2025-06-15 16:46:58 回复(0)
//清爽版,下面有详细解释版
#include <stdio.h>

int main()
{
    int a = 1;

    for (int sum = 1; sum <= 9; sum++)
    {
        for (int b = 1; b <= sum; b++)
        {
            int c = b * a;            
            printf("%d*%d=%2d ", b, a, c);
           
        }
        a++;
        printf("\n");
    }

    return 0;
}



//输出九九乘法表
#include <stdio.h>

int main()
{
    int a = 1; // 操作数 2,先从 1 开始 乘
    // 为什么先定操作数 2 呢,因为方便
    // 每一层的第 2 个操作数都没变,一直是第 1 个操作数在循环,所以我先把第 2 个操作数写在循环外边了

    for (int sum = 1; sum <= 9; sum++) // 这个乘法表循环 9 次
    {

        for (int b = 1; b <= sum; b++)
        // 操作数 1,每次从 1 开始后,循环一次加一次,循环的次数不会大于上面的sum次数
        // 这样就能限制每一行最多乘到多少了,sum = 1 时,进来就只乘一次,就回到上面重新 + sum 了
        // 下次再来就是 sum = 2 了,然后又初始化 b = 1,继续循环,最多乘到 2。当 b 大于 sum 的时候,又跳上去了
        // 以此类推。。
        {
            int c = b * a; // 每一行都是 第二个操作数不变,写乘 b * a 好理解
            // [b = 1, a = 1],[b * a] = 1 * 1
            // [b = 1, a = 2] b * a = 1 * 2 然后 b++,[b = 2, a = 2] b * a = 2 * 2 类推

            printf("%d*%d=%2d ", b, a, c); // %2d,是取2位,不足2位空格补
        }  

        a++; // 当 b 大于 sum 跳出,然后执行 a++,也就是开始第二行了
        printf("\n"); // 当每一行乘到头以后,就多执行一个换行
    }
   
    return 0;
}
发表于 2025-06-14 21:49:43 回复(0)
for i in range(1,10):
    for e in range(1,i+1):
        print(f"{e}*{i}={e*i:2d}",end=" ")
    print()

发表于 2025-06-04 10:26:15 回复(0)
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    for(int i=1; i<=9; i++){
        for(int j=1; j<=i; j++){
            std::cout << j << "*" << i << "=" << std::setw(2) << i*j << " ";
        }
        std::cout << std::endl;
    }
}
// 64 位输出请用 printf("%lld")

发表于 2025-05-14 21:28:05 回复(0)
for i in range(1,10):
    for j in range(1,i+1):
        print(f'{j}*{i}={i*j:>2}',end=' ')
    print()

发表于 2025-02-18 16:07:02 回复(0)
愚蠢的右对齐!
for i in range(1, 10):
    for j in range(1, i + 1):
        result = i * j
        print(f"{j}*{i}={result:>2}", end=" ")
    print()

发表于 2024-12-16 20:59:25 回复(0)
#include <stdio.h>

int main()
{
    int a,b;
    for(a=1;a<=9;a++)
    {
        for(b=1;b<=a;b++)
        {
            printf("%d*%d=%2d ",b,a,a*b);
        }
        printf("\n");
    }
    return 0;
}
发表于 2024-11-30 19:42:51 回复(0)
n = 10
for i in range(1,n):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j:>2}",end=" ")
    print()

发表于 2024-09-28 14:02:03 回复(0)
#include <stdio.h>

int main() {
   int i,j,a;
   for(i=1;i<=9;i++)
   {
    for(j=1;j<=i;j++)
    {
        printf("%d*%d=%2d ",j,i,i*j);
        
    }
    printf("\n");
   }
    return 0;
}

发表于 2024-09-26 21:29:32 回复(0)
for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={j*i:2}",end=' ')
    print()
发表于 2024-08-30 21:49:27 回复(0)
#include <stdio.h>

int main() {
    int i,j;
    for (i=1; i<=9; i++) {
     for (j=1; j<=i; j++) {
      printf("%d*%d=%2d ",j,i,i*j);
     }
     printf("\n");
    }
    return 0;
}
发表于 2024-07-04 21:14:18 回复(0)
#include<stdio.h>
int main()
{
    for(int i=1;i<=9;i++)
    {
        for(int j=1;j<=i;j++)
        {
            printf("%d*%d=%2d ",j,i,j*i);
           
        }
        printf("\n");
    }
}
发表于 2024-06-26 14:43:34 回复(0)

问题信息

上传者:牛客301599号
难度:
72条回答 2984浏览

热门推荐

通过挑战的用户

查看代码
乘法表