|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 超过光速c 于 2021-8-24 22:15 编辑
在练习制作三子棋时,遇到了需要用for进行灵活的输出正方形宫格,就想起了打印*号三角形,然后索性再练习了一番。
- #include <stdio.h>
- int main(){
- int tmp;
- printf("请输需要打印的行数:");
- scanf("%d", &tmp);
- // 打印靠左正三角形
- for(int i=1;i<=tmp;i++){
- for(int j=0;j<i;j++){
- printf("* ");
- }
- printf("\n");
- }
- // 打印靠左倒三角形
- for(int i=1;i<=tmp;i++){
- for(int j=0;j<tmp-i;j++){
- printf("* ");
- }
- printf("\n");
- }
- // 打印靠右的正三角形
- for(int i=1;i<=tmp;i++){
- // tmp-i 则空格数刚好比需要输出的列数少一个,也就是*号的位置
- for(int j=0;j<tmp-i;j++){
- printf(" ");
- }
- for(int k=0;k<i;k++){
- printf("* ");
- }
- printf("\n");
- }
- // 打印靠右的倒三角形,因为少一行,所以需要-1
- for(int i=1;i<=tmp-1;i++){
- for(int j=0;j<i;j++){
- printf(" ");
- }
- for(int k=0;k<tmp-i;k++){
- printf("* ");
- }
- printf("\n");
- }
- // 打印正大三角形
- for(int i=1;i<=tmp;i++){
- for(int j=0;j<tmp-i;j++){
- printf(" ");
- }
- for(int k=0;k<2*i-1;k++){
- printf("*");
- }
- printf("\n");
- }
- // 打印倒大三角形
- for(int i=1;i<=tmp-1;i++){
- for(int j=0;j<i;j++){
- printf(" ");
- }
- for(int k=0;k<(2*(tmp-i)-1);k++){
- printf("*");
- }
- printf("\n");
- }
- return 0;
- }
复制代码
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
打印后的效果就是这样子了。
|
|