for循环的嵌套使用实例(输入任意字符,输出一个等腰三角形)

文章介绍了for循环嵌套的概念,通过构建等腰三角形和倒置等腰三角形的代码示例进行解释,并提供了输出九九乘法表的代码,强调了外循环与内循环的关系及执行顺序。最后提出用for循环创建任意行数等腰三角形的问题。
摘要由CSDN通过智能技术生成

什么是for循环嵌套?


学习while循环时我们已经接触过while的循环嵌套,那么for循环嵌套又是如何呢?

其实,for循环嵌套与while循环嵌套类似,都是在一个whlie(for)循环的基础上,再不断嵌入一个新的循环。但是要注意的一点是外循环执行一次,内循环全部执行一次(循环执行一次时,循环要全部执行完毕一次)。所以在使用for循环嵌套时,一定要注意for循环嵌套的执行次数,不要了也不能了。下图是for循环嵌套的一个大致框架。

 下面用一道例题来进行分析

例:利用for循环输入一个任意字符,输出一个等腰三角形。

 具体代码如下:

 需要注意的是,由于vs编译器自身问题,在使用scanf时不能直接使用,需要将scanf改成scanf-s,或者百度一下解决方法,此处不过多介绍。

 题目要求输入一个字符,从而输出一个等腰三角形。首先,通过i来控制行数,视为外循环。j1来控制空格数,视为内循环,j2控制字符数,也是内循环。当i=1时,外循环执行一次,内循环j1则会执行4-i(i=1)即3次,打印三个空格;内循环j2则执行2*i(i=1)-1即1次,打印一个字符。以此类推,从而生成一个等腰三角形。

相信各位看到这里肯定已经对for循环的嵌套有了一定的了解了,那么我们接着来看以下几道例题,如果都能自己写出来,那么恭喜你,你已经掌握了for循环嵌套了!

题一:输入一个字符,输出一个倒置的等腰三角形

例:

代码如下:

#include <stdio.h>
#include <string.h>


int main()
{
	int i, j1,j2;
	char a;
	printf("输入:");
	scanf_s("%c", &a);//输入字符
	printf("输出:\n");
	for (i = 4; i >=1; i--)//i改为倒过来的行数
	{
		for (j1 = 1; j1 <=4-i; j1++)//j1控制空格
		{
			printf(" ");
		}
		for (j2 = 1; j2 <=2*i-1; j2++)//j2控制字符数
		{
			printf("%c", a);
			}
		printf("\n");//换行
	}
	return 0;
}

其实我们不难发现,相较于正置的等腰三角形,倒置只是将外循环进行了改变,而内循环是不变的。其实我们只需改变i这个行数就行了,只需要将正序行数1,2,3,4改为倒序行数4,3,2,1就可以了。也就是说原本第四行变成了现在的第一行。

 题二:输出九九乘法表

                                                                         例:

 代码如下:

#include <stdio.h>
#include <string.h>


int main()
{
	int i, j, k;
	for (i = 1; i <=9; i++)//i控制行数
	{
		for (j = 1; j <= i; j++)
		{
			k = j * i;//k为表达式
			printf("%d*%d=%d ", i, j, k);//注意输出表达式
		}
		printf("\n");//输出换行
	}
	return 0;
}

咋一看题目似乎无从下手,但其实相较于三角形的代码,九九乘法表反而更加简单。

那么,本编文章到此就结束了,你是否已经掌握了for循环嵌套呢?

扩展

这里留下一个问题,如何用for循环结构输入任意行数,来得到一个任意行数的等腰三角形呢?

(答案后面补上)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值