【从零开始的 C 语言笔记】第二十二篇-多重迴圈 & 九九乘法表

不怎么重要的前言

上一篇介绍了需要与if条件式结合且与迴圈控制有关的语法,基本上我们已经把基础的程式语法都学得差不多了,如果有不熟悉的部分要赶快回头複习喔!

现在我们来试着把所学的东西组合起来看看吧!


多重迴圈

学到现在的所有语法,都是可以任意组合的,像是迴圈内可以再放个迴圈,条件式可以放在任意你需要的地方,也可以善用continue & break去做迴圈控制。

我们今天来实用看看多重迴圈(也被称为巢状迴圈),虽然前面几篇多少有使用到,不过我们一步步做题目看看!


列印矩阵

题目
输入n.m两个整数,使用「*」列印出长宽为n.m的长方形。
http://img2.58codes.com/2024/20142565gfllBwmN2l.png

解题

(1) 先确认输入值,因为需要输入两个整数,所以使用scanf读两个整数后存入变数(变数记得宣告)中。

int n,m;scanf("%d%d", &n, &m);

(2) 思考题目列印形式,是需以n.m为长宽的长方形,所以思考可以分作两个部分。
a. 列印一行长为n的「*」时,可简单使用for迴圈完成,且列印完一行结束记得换行。

for(int j = 0; j<n; j++){    printf("*");}printf("\n")

b.除了长为n、宽也须为m,即还要有m行的n个「*」,所以须以for迴圈再包住上一个for迴圈。

for(int i = 0; i<m; i++){    for(int j = 0; j<n; j++){        printf("*");    }    printf("\n");}
程式码
#include <stdio.h>int main(){    int n,m;    printf("plz input n & m: ");    scanf("%d%d", &n, &m);    for(int i = 0; i<m; i++){        for(int j = 0; j<n; j++){            printf("*");        }        printf("\n");    }    return 0;}

小作业

列印一个2至9的九九乘法表,如以下範例。
http://img2.58codes.com/2024/20142565pmHGY1Bkcs.png
http://img2.58codes.com/2024/20142565tntP9rGaxV.png


今天稍微带过多重迴圈的用法跟思路,希望大家可以渐渐地开始使用逻辑思考解题,分段完成你要的结果!

下一篇我们来介绍同是条件判断式的语法--「Switch」!


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章