C语言初学 能不能帮我解释一下道题 打印直角三角形

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j;
for(i=1;i<=5;i++)
{for(j=0;j<i;j++)
printf("*");
printf("\n");}
system("pause");
}
另外 用的是DEV-C++ 我不是很明白能不能给我把这个循环嵌套解释一下 谢谢^^
还有怎么打印等腰直角三角形 菱形?

你这段代码是用来打印一个等腰直角三角形的
#include <stdio.h> //包含头文件
#include <stdlib.h> //包含头文件
int main() //主函数
{
int i,j; //声明两个变量用来控制行数和列数
for(i=1;i<=5;i++) //循环每一行
{
{for(j=0;j<i;j++) //循环每一列
printf("*"); //输出一个*
printf("\n");} //输出完本行就换行
}
system("pause"); //停住,是程序不退出
}

这两层嵌套很简单的,多熟练下就明白了
首先是控制行数,第二层循环是控制每一行的每一列..
你看不懂的原因可能是因为没有加上{},
另外你的程序没有加上{}而不能显示出你想要的形状..
加上就好了

你这个就是一个等腰直角三角形。所以补充就不会回答了吧....
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-25
这个函数执行是这样子的
先进入外循环,然后进入内循环,判断j是否小于i
第j行执行j次即打印j个*,然后再换行
又跳到外循环,i自加,就是行数增加的意思
然后再进入内循环打印j个*。
int i,j=3,k;
for(i=0;i<7;i++)
{
for(j=7-i;j>0;j--)
{
printf(" ");
}
for(k=0;k<2*i+1;k++)
{
printf("*");
}
printf("\n");

}

//以上可以画等腰三角形,上面下面合起来可以画菱形

for(i=0;i<=7;i++)
{
for(j=0;j<i;j++)
{
printf(" ");
}
for(k=2*(7-i)+1;k>0;k--)
{
printf("*");
}
printf("\n");
}
第2个回答  2013-02-25
第一步:*
第二步:**
第三步:***
第四步:****
第五步:*****
里层for语句共执行五次。