C语言循环问题求解释#includeint main(void){\x09int i1, j1, n1;\x09\x09printf("Please input n: ");\x09scanf("%d", &n1);\x09for (i1 = 1; i1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/17 00:39:12
C语言循环问题求解释#includeint main(void){\x09int i1, j1, n1;\x09\x09printf(

C语言循环问题求解释#includeint main(void){\x09int i1, j1, n1;\x09\x09printf("Please input n: ");\x09scanf("%d", &n1);\x09for (i1 = 1; i1
C语言循环问题求解释
#include
int main(void)
{
\x09int i1, j1, n1;
\x09
\x09printf("Please input n: ");
\x09scanf("%d", &n1);
\x09for (i1 = 1; i1

C语言循环问题求解释#includeint main(void){\x09int i1, j1, n1;\x09\x09printf("Please input n: ");\x09scanf("%d", &n1);\x09for (i1 = 1; i1
里面出现了6个for,为了便于给你解释,编号为1、2、3、4、5、6
其中2、3是套在1里面的.
for1的作用是控制换行,即每当for2、for3把合适数量的空格和#号写完之后,就换一行,for1里面的变量i1就是代表:当前正在执行的那一行是第几行.
for2控制第i1行输出的空格的数量,当行数越大的时候,那么输出的空格就越少(菱形就是这样,你应该明白),因此,for2里面的j1的最大值就必须跟当前正在执行的行数建立联系:j1下限是i1,上限是n1,随着i1增大,for2执行的总次数(上限-下限=n1-i1)就越少.
同理,随着行数i1增大,for3输出的#号就越多.
同理,for4执行菱形的下半部分
举个例子,
第一行:for2输出5个空格,for3输出一个#号,完成之后,for1发出一个换行.进入第二行.
第二行:for2输出4个空格,for3输出3个#号,完成之后,for1发出一个换行.进入第三行.
第三行:for2输出3个空格,for3输出5个#号,完成之后,for1发出一个换行.进入第4行.