重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
由外到内,逐层完成,for循环的方法你应该知道了吧,我就不一一说了。
成都创新互联公司为客户提供专业的做网站、成都网站建设、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。
首先进行最外面的循环,第一次
i=1
,进入循环体,由于他的循环体是另一个循环,也就是执行另一个循环,
首先由
j=0
开始,然后有进入循环体。。。也就是执行第三层循环,在你上面的程序来说
,完成第三个循环一共要循环
7次
,k
从
2
到
10
(等于10的时候跳出去,实际执行9次)。
然后,第二层循环进行了
1
次
,j
由
变成
1
,继续循环,也就是从新开始
第三层循环。这样一直下去,知道
j=10
跳出了第二层循环
,第一个循环才
完成了
1次
,i
由1变成
2,继续又进入到第二层,第三层循环,在一层一层跳出来,直到跳出最外层循环为止。
用一句话来说就是
逐层进入,逐层完成,逐层跳出。
按照你的要求编写的九九乘法表的C语言程序如下
#include stdio.h
int main()
{
int i,j,n;
scanf("%d",n);
for(i=1;i=n;i++){
for(j=1;j=i;j++){
printf("%2d*%2d=%2d ",i,j,i*j);
}
printf("\n");
}
return 0;
}
#include
int
func(int
i);
//函数的原型定义
int
main(void)
{
int
n;
float
y;
scanf_s("%d",n);
//n没有被初始化,为任意值,此时是读取一个值给n,删去,直接给n初始化为5也可以
scanf_s是vs2013编译器专用的,请自行改成scanf
y
=
func(n);
/*函数的调用*/
printf("%d!=%f",
n,
y);
/*for语句多余*/
return
0;
}
int
func(int
i)
{
int
sum=0;
if
((i
==
0)
||
(i
==
1))
sum
=
1;
else
sum
=
func(i-1)
*
i;
//
i的值没有变化,一直都是读入的值,不会终止递归。
return
sum;
}
典型的循环嵌套:
int i,j;
for(i=0;i10;i++)
{
for(j=0;j20;j++)
{
//这里是内循环
}
//这里是外层循环
}
/*这份代码经源码格式软件格式化过
yang_hx@neusoft.com */
#include"stdio.h"
#include stdlib.h
void main()
{
int i,j,k ;
for(i=1;i=4;i++)//打印前4行
{
for(j=1;j=4-i;j++)//打印每行前面的空格,第一行前面有3个空个,所以就是4 -1,也就是4 - i,下面的一样;
printf(" ");
for(k=1;k=2*i-1;k++)//打印星号,公式正好是,2 * 行数 - 1;
printf("*");
printf("\n");
}
for(i=1;i=3;i++)//打印后三行
{
for(j=1;j=i;j++)//前面的空格跟行号是一致的,
printf(" ");
for(k=1;k=7-2*i;k++)//打印星号,公式就是 7 - 2 * i 行号,也就是第四行减去 2 * i
printf("*");
printf("\n");
}
system("pause");
}
遇到这种题只要按着代码在脑子执行一遍,再看看其中的关系就清楚了。