A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

前天学的for循环  打印三角形  现在都OK了 但是现在关于for的嵌套使用  还是不理解  求指导  讲白话文    讲的明白些   谢谢

Snip20150830_5.png (119.83 KB, 下载次数: 14)

for循环打印三角形

for循环打印三角形

13 个回复

倒序浏览
共同学习  多练习 慢慢会懂的 悄悄的告诉你其实我也是模棱两可
回复 使用道具 举报
地球绕着太阳旋转,而月球在绕着地球旋转,当地球绕着太阳旋转一年,月球已经绕着地球旋转了365天,地球绕太阳旋转相当于外循环(大循环),月亮绕地球旋转相当于内循环(小循环),不知这样描述是否合适
回复 使用道具 举报
外层循环控制行数,内层循环控制列数,你图上的那种,就是在敲*之前先敲出来空格
找规律嘛,找每一行的空格数和行数的关系,用循环敲出来
再找每一行的*数和行数的关系,用另一个循环敲出来
回复 使用道具 举报
for循环超级重要
回复 使用道具 举报
外层的for循环控制行数,内层的for循环控制列数,他是在行数的基础条件之上,理解下for循环执行的过程原理,学会看流程图,
for(i=0;i<5;i++)
for(j=0;j<=i;j++)   
printf("*");
执行过程:i=0,然后判断 i<5,满足条件则跳到到下一层for循环,j=0,判断j<=i,满足条件则执行循环体里面的语句打印  ”*“,执行完以后返回来j++,此时j=1,i=0判断j<=i,条件不成立,终止循环,返回到上一层for循环条件,执行i++,i=1,然后同样的方式执行下面的语句。

for(表达式1;表达式2;表达式3)





回复 使用道具 举报
直接上代码,测试成功的。
你的问题是每行的*的个数没有算对。
int main(int argc, const char * argv[]) {
    for (int i = 0; i<6; i++) {
        //第一个内循环控制空格。
        for (int j = 0 ; j<6-i; j++) {
            printf(" ");
        }
        //第二个内循环控制*的个数。
        //注意每行*的个数和行数的关系 2*i-1。
        for (int k = 0; k<2*i-1; k++) {
            printf("*");
        }
        printf("\n");
    }
回复 使用道具 举报
外部循环一次,内部循环完,再外部循环,内部又循环完。
回复 使用道具 举报
加个断点 慢慢点点看看,你就会看清楚怎么执行的了
回复 使用道具 举报
这个学过,但是没有深入了解过!自己慢慢摸索吧!
回复 使用道具 举报
循环这块感觉还是如意大师讲得比较透彻
回复 使用道具 举报
知道每行代码的是干什么的就OK,  一定一步一步的看
回复 使用道具 举报
来。。。学习学习
回复 使用道具 举报
还没学透  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马