14. 乘法口诀挑战赛

1. 概要

~  Jack Qiao对米粒说:“为了帮助孩子们更好地学习乘法,智慧镇的镇长决定举办一场特别的活动——“乘法口诀挑战赛”。比赛的规则非常简单:参与者需要输入一个正整数 n,然后系统会生成一个 n*n的上三角形乘法口诀表

>  米粒想到之前学的知识:使用两层嵌套的 for 循环,外层循环控制行数,内层循环控制每行中的列数,生成并打印乘法表达式,然后格式化输出。

2. 整体架构流程

2.1. for循环 

 for (i = 1; i <= n; i++) {
     for (j = 1; j <= i; j++) {
         printf("%d*%d=%-2d ", j, i, i * j);
     }
     printf("\n");
 }
2.1.1. for循环进行分析
  • 外层循环 for (i = 1; i <= n; i++)
    • 控制行数,从1到 n
  • 内层循环 for (j = 1; j <= i; j++)
    • 控制每行中的列数,从1到当前行号 i
  • 打印乘法表达式
    • printf("%d*%d=%-3d ", j, i, i * j); 打印当前行和列对应的乘法表达式及其结果。
    • %d 是格式说明符,表示整数。
    • %-3d 表示左对齐宽度为3的整数,确保输出格式整齐。
  • 换行
    • printf("\n"); 在每行打印完成后换行,准备打印下一行。

2.2. 运行结果 

2.3. 全部代码 

#include <stdio.h>

int main() {
    int n, i, j;

    // 提示用户输入一个正整数
    printf("请输入一个正整数n(生成n*n的上三角乘法口诀表): ");
    scanf("%d", &n);

    // 检查输入是否有效
    if (n <= 0) {
        printf("无效输入,请输入一个正整数。\n");
        return 1;
    }

    // 打印上三角乘法口诀表
    for (i = 1; i <= n; i++) {
        for (j = 1; j <= i; j++) {
            printf("%d*%d=%-2d ", j, i, i * j);
        }
        printf("\n");
    }

    return 0;
}

3. 技术细节

  • 打印乘法表达式
    • printf("%d*%d=%-3d ", j, i, i * j); 打印当前行和列对应的乘法表达式及其结果。
    • %d 是格式说明符,表示整数。
    • %-3d 表示左对齐宽度为3的整数,确保输出格式整齐。

4. 小结

a.  输入验证:通过 `scanf` 获取用户输入,并使用 `if` 语句检查输入的有效性,确保输入是一个正整数。

b.  嵌套循环:使用两层 `for` 循环生成上三角形乘法口诀表,外层循环控制行数,内层循环控制每行中的列数。

c.  格式化输出:利用 `printf` 的格式化字符串(`%d``%-3d`)确保乘法表达式和结果在输出时对齐整齐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值