例题1:画出一个高度为3的等腰三角形.
编写程序:
#include<stdio.h>
main()
{
int a,b,c,h;
h=3; \\h为高度,赋值常量3.
for(a=1;a<=h;a++) \\a可以理解为行数,a为1,h为3,1<=3,从1到3,执行3次外循环.也就是3行.
{
for(b=1;b<=h-a;b++)printf(" "); \\b可以理解为空格数,当执行到这一步的时候b=1,h=3,a=1,就是表达式1<=2,1到2
执行两次内循环就是说第一行执行了两次空格,然后继续下一步循环
for(c=1;c<=2*a-1;c++)printf("*"); \\c为*的数量,当第一行执行空格完毕后,他循环了2次就是两个空格,然后执行这一步,
1<=2*1-1就是从1到1,执行一次*.
printf(""\n); \\执行回车 循环结束,程序跳回到a++,判断2<=3值为真,继续执行内循环.
}
return 0;
}
根据例题可以写出另一个程序:
2.输出一个高度为3的倒等腰三角形.
编写程序:
#include<stdio.h>
main(){ int a,b,c,h; h=3; for(a=h;a>=1;a--){ for(b=1;b<=h-a;b++)printf(" "); for(c=1;c<=2*a-1;c++)printf("*"); printf("\n"); } return 0;}
举一反三, 菱形差不多就是上面两个程序的集合.只是倒三角会比正三角少一行 所以只需改动倒三角的外循环for()内的语句, for(行数=输入高度-1;行数>=1;行数--).
3.输出一个等腰直角三角形.
编写程序如下:
#include<stdio.h>
main(){ int a,b,c; c=3; for(a=1;a<=3;a++) {for(b=1;b<=a;b++) printf("*"); printf("\n"); } return 0;}