c语言打印99乘法表

下面是这道题在牛客的链接:

https://www.nowcoder.com/practice/ff797e49df674c049021e8be2ab026e6?tpId=290&tqId=311079&ru=/exam/oj&qru=/ta/beginner-programmers/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E8%25AF%25AD%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D290

接下来我们来逐步分析这道题:

题目定位:循环嵌套

首先观察规律,一共九行,所以我们要换行,一共换九次

#include <stdio.h>
int main()
{
    for (int i = 1; i <= 9; i++)
    {
        printf("\n");
    }

    return 0;
}

其次每一行都有等于其行数的式子

int main()
{
    for (int i = 1; i <= 9; i++)
    {
        for (表达式)
        {
            printf(式子);
        }
        printf("\n");
    }

    return 0;
}

紧接着分析每一个式子的规律:

每一个式子都是由一个数字a乘一个数字b等于a和b的乘积;且每一行的数字a都是从1开始递增到行数的大小,比如:第三行,a从1开始,最后一个式子a为3.

其次,每一行中每一个式子b都是固定的等于其行数;

在循环中我们用i表示行数,所以b就是i;

而a是从1开始递增到i,所以我们需要用循环嵌套,我们令j=a,那么代码如下

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");
    }

    return 0;
}

运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值