文章目录
- 1.输出正直角三角形
- 2.输出倒直角三角形
- 3.输出正等腰三角形
- 4.输出倒等腰三角形
- 5.输出菱形
- 6.输出旋转90°的等腰三角形
- 7.补充
- 1.输出矩形阵列
- 2.将矩阵倾斜
本篇主要为练习利用for循环语句输出*图形
1.输出正直角三角形
/*4***********/#includeint main(){ int i,j,n; scanf("%d",&n); //输入你想要的行数 for(i=1;i<=n;i++) //系统输出的行数 {for(j=1;j<=i;j++) //当前行的*数printf("*");printf("\n"); //每次输出一行结束后换行 }return 0;}
注意:在利用for循环嵌套时,每一个for循环都要运行完成才能跳出内层,进入外层循环。
2.输出倒直角三角形
/*4***********/#includeint main(){ int i,j,n; scanf("%d",&n); //输入你想要的行数 for(i=1;i<=n;i++) //系统输出的行数 {for(j=1;j<=n-i+1;j++)//当前行的*数printf("*");printf("\n");//每次输出一行结束后换行 }return 0;}
3.输出正等腰三角形
此时需要加入空格来实现
/*4 **** *************/#includeint main(){int i,j,k,n;scanf("%d",&n); //输入你想要的行数for(i=1;i<=n;i++) //系统输出的行数{for(k=1;k<=n-i;k++) //当前行的空格数printf(" ");for(j=1;j<=2*i-1;j++) //当前行的*数printf("*");printf("\n"); //每次输出一行结束后换行}return 0;}
4.输出倒等腰三角形
这里只要注意*和空格输出个数公式即可
/*4***** *****/#includeint main(){int i,j,k,n;scanf("%d",&n);//输入你想要的行数for(i=1;i<=n;i++)//系统输出的行数{for(k=1;k<=i-1;k++)//当前行的空格数printf(" ");for(j=1;j<=2*(n-i)-1;j++)//当前行的*数printf("*");printf("\n");//每次输出一行结束后换行}return 0;}
5.输出菱形
更改 i 值所取范围可改变菱形行数
/* * ******** ************ *****/#includeint main(){int i,j,k;for(i=1;i<=4;i++) //上半等腰三角形行数(高){for(j=0;j<=3-i;j++) //输出的空格数printf(" ");for(k=1;k<=2*i-1;k++)printf(" * ");//当前行的*数printf("\n");}for(i=3;i>=1;i--)//下半等腰三角形行数(高){for(j=0;j<=3-i;j++)//输出的空格数printf(" ");for(k=1;k<=2*i-1;k++)//当前行的*数printf(" * ");printf("\n");} return 0;}
6.输出旋转90°的等腰三角形
这里采用了1,2题的拼接思路
/***********/#includeint main(){int i,j,k;for(i=1;i<=3;i++) //上半{for(j=1;j<=i;j++)printf("*");printf("\n");}for(i=2;i>=1;i--) //下半{for(j=1;j<=i;j++)printf("*");printf("\n");} return 0;}
7.补充
1.输出矩形阵列
这是最基本的for循环嵌套案例,打印矩形阵列
/**********************/#includeint main(){int i,j;for(i=1;i<=5;i++)//控制行数{for(j=1;j<=4;j++)//控制列数printf("*");printf("\n");//换行} return 0;}
2.将矩阵倾斜
接下来我们对它稍微做一下改动,打印出一个平行四边形
(这里我们仅仅需要加入空格即可,其余代码不变)
/* ******** ******** *****/#includeint main(){int i,j,k;for(i=1;i<=5;i++){for(k=1;k<=i;k++) //加入空格printf(" ");for(j=1;j<=4;j++)printf("*");printf("\n");} return 0;}
如果想让它向另一方向倾斜则更改空格处代码即可
for(k=1;k<=5-i+1;k++)printf(" ");
结果输出:
******** ******** ****