您的位置:首页 > 财经 > 产业 > 牛客网刷题 | BC112 空心三角形图案

牛客网刷题 | BC112 空心三角形图案

2025/1/23 0:49:32 来源:https://blog.csdn.net/m0_64000959/article/details/139391942  浏览:    关键词:牛客网刷题 | BC112 空心三角形图案

目前主要分为三个专栏,后续还会添加:

        专栏如下:                 C语言刷题解析       C语言系列文章       我的成长经历

感谢阅读!

初来乍到,如有错误请指出,感谢!


描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”三角形图案。

输入描述:

多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量。

输出描述:

针对每行输入,输出用“*”组成的“空心”三角形,每个“*”后面有一个空格。


思路 :

由题目示例可以看出 可以由一个正方形砍去一半 所表示出来

i为行 j为列

当i==j的时候 就可以打印出一个星星加一个空格

当j 列为0 的时候 就可以打印出一列

当i==n-1 的时候 就可以把最下面的打印出来


代码 1 :

/*思路 : 由题目示例可以看出 可以由一个正方形砍去一半 所表示出来
i为行 j为列
当i==j的时候 就可以打印出一个星星加一个空格
当j 列为0 的时候 就可以打印出一列
当i==n-1 的时候 就可以把最下面的打印出来
*/# include <stdio.h>
int main (){int n = 0;while(scanf("%d",&n)!=EOF){int i = 0;for(i = 0; i<n;i++)//控制每一行的星星和空格{int j = 0;//控制多少列for(int j = 0; j<n;j++){//条件判断 i==j j==0 i==n-1if (i==j||j==0||i==n-1) {printf("* ");}else {printf("  ");}}printf("\n");}}return 0;
}

 代码 2 :

/*思路 : 由题目示例可以看出 可以由一个正方形砍去一半 所表示出来
i为行 j为列
当i==j的时候 就可以打印出一个星星加一个空格
当j 列为0 的时候 就可以打印出一列
当i==n-1 的时候 就可以把最下面的打印出来
*/# include <stdio.h>
int main (){int n = 0;while(scanf("%d",&n)!=EOF){int i = 0;for(i = 0; i<n;i++)//控制每一行的星星和空格{int j = 0;//控制多少列for(int j = 0; j<n;j++){//条件判断 i==j j==0 i==n-1if (i==j||j==0||i==n-1) {printf("* ");}else {printf("  ");}}printf("\n");}}return 0;
}

函数所写
 

  

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com