C语言程序阅读理解问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 07:17:12
在2级c语言题中,我经常阅读到这样的程序,不知道该从何处下手。
{int i,k;
for(i=0;i<10;i++)
for(k=i-1;k<20;k++)
一些语句;
}
问题1:什么情况下用到2层循环啊?
问题2:什么情况下第二层循环的k要用到第一层的i的公式呢?
问题3:再遇到这样的程序我应该怎么去读它、理解它呢?

经典冒泡排序就用的是这样的结构
对于n个问题,第i个问题都要运算之后的所有问题,就会用到这种结构
对于之后的所有问题,如果它们都与第i各相关,就会用到第一层的i。(如冒泡排序中的与第i个数比较)
先i=1做一遍,了解他要干什么即可

内循环的初始化k=i-1,,当i越来越大时,k的赋值起点也就越来越大了

也就是说内循环的循环次数在不断减少

k=-1 循环21次

k=0 循环20次

...

i=0,k:-1~19
i=1,k=0~19
.
.
.
i=9,k:8~19

第一层的i每增加1,第二层的循环就完全循环一次