首页
学习
活动
专区
圈层
工具
发布

【详解】使用java解决-打印出如下图案(菱形)

设计思路为了实现上述需求,我们可以将菱形分为两部分处理:上半部分:从第一行到第​​n/2 + 1​​行,每一行的星号数量逐渐增加。...下半部分:从第​​n/2 + 2​​行到最后,每一行的星号数量逐渐减少。对于每一行,我们需要考虑两个方面:前导空格的数量。星号的数量。3....下半部分的逻辑与上半部分相似,只是行数是从大到小递减。5. 运行结果运行上述代码,当​​n=5​​时,输出如下:* *** ***** *** *这正是我们期望的结果。...为了确保菱形的对称性,​​n​​应该是奇数。上半部分:外层循环 ​​for (int i = 1; i n; i += 2)​​:控制每一行的星号数量,从1开始,每次增加2。...下半部分:外层循环 ​​for (int i = n - 2; i >= 1; i -= 2)​​:控制每一行的星号数量,从​​n-2​​开始,每次减少2。

11510

C语言实例:创建各类三角形图案(杨辉三角,弗洛伊德三角形....)

2.金字塔 我们先来看看金字塔的组成 可以看见金字塔由空格和星号组成。再仔细观察,不难发现空格的和星号的排列方式存在着规律。...第一行有1个星号,5个空格;第二行有3个星号,4个空格;第三行有5个星号,3个空格; 以此类推,那么第五行就有(2*5-1)个星号,0个空格。...每行数字左右对称,由1开始逐渐变大,第n行的数字有n项。...); } return 0; } 这相比上面的就容易理解了许多 4.弗洛伊德三角形 弗洛伊德三角形就是每行有行数个数字,且打印的数字是递增的,如下图: 可以发现结尾的数字是从1到行数的和...int i = 0, j = 1,row=0,n=1,tmp=0,count=1; printf("请输入行数:>"); scanf("%d", &row); int sum = Sum(row

53710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C:图案打印

    ,对于每个位置( i , j ),通过条件判断 i == j 表示主对角线(从左上角到右下角)上的位置,  i + j == size - 1表示副对角线(从右上角到左下角)上的位置。...a; i++) { //外层循环控制上半部分沙漏的行数,从第 1 行到第 a 行 for (int j = 1; j 星号数量逐行递减 } printf("\n");//换行 } for (int i = a - 1; i >= 1; i--) { // 外层循环控制下半部分沙漏的行数...,星号数量逐行递增 } printf("\n"); } return 0; } 图案演示: 4.2 分析(结合注释) 对于上半部分: 随着 i 的增加,每行前面的空格数量也增加...星号的数量通过相同的公式计算,随着 i 的减小而增加,从而形成与上半部分对称的沙漏形状。 5、一些规律 1 使用嵌套的循环结构 外层循环通常控制图形的行数。

    89410

    控制台打印图形_前端控制台打印

    问题描述 一、在控制台输出以星号打印的三角形 思路:在外部使用循环语句执行5次每次打印1行,每行的内容分别为空格和星号,每行空格缩进的数量为5减去所在行数,星号的数量是所在行数的2倍减1。...在内部使用循环语句首先打印空格,然后打印星号”*”,对应的打印次数用循环次数控制,打印星号之后就可以换行。...public static void main(String[] args) { //打印图形, int n=5;//表示要打印几行 for(int i=1;in;i++) { //i表示每行...//先打印空格:n-i个 for(int j=0;jn-i;j++) { System.out.print(" "); } //再打印星号,i*2-1个 for(int j=0;j<i*2-1;...sc.nextInt(); creat(n); } public static void creat(int n) { int n1=n/2; for(int i=1;in1;i++) { /

    3.2K10

    debug和release的区别,打印菱形,水仙花数,喝汽水问题,计算求和

    每一行的空格和星号数需要根据行数进行动态调整。 思路解析: 上半部分(包括中间行): 以 i 为当前行数,从 1 到中间行(n/2 + 1),空格逐渐减少,星号逐渐增加。...第 1 行打印最多空格,最后一行(中间行)打印最多星号。 下半部分: 下半部分与上半部分对称,从中间行向下,每行的空格逐渐增多,星号逐渐减少。...printf(" "); } // 打印星号 for (j = 1; j <= 2 * i - 1; j++) {...} // 打印星号 for (j = 1; j <= 2 * i - 1; j++) { printf("*");...循环与项构造: 在 for 循环中,从 i = 0 开始,到 i = n-1 结束,循环 n 次。 每次循环,tmp 会通过 tmp = tmp * 10 + a 来构造当前的项。

    19010

    sed 多行模式、分支及循环

    命令 N 从输入文件中读取下一行并追加到模式空间,而不是替换模式空间。...小写命令 n 打印当前模式空间的内容,并清空模式空间,从输入文件中读取下一行到模式空间,然后继续执行后面的命令。...大写命令 N 不会打印模式空间内容,也不会清除模式空间内容,而是在当前模式空间内容后加上换行符 \n,并且从输入文件中读取下一行数据,追加到模式空间中,然后继续执行后面的命令。...:Developer Jane Miller:Sales Manager # 本例中: N 追加换行符 \n 到当前模式空间(员工名称)的最后,然后从输入文件读取下一行数据并追加进来。...Jane Miller # N 追加换行符 \n 到当前模式空间(员工名称)的最后,然后从输入文件读取下一行数据并追加进来。

    75210

    程序员进阶之算法练习(三十六)贪心

    ; 然后从四个方向去遍历,每个方向至少有1个星号,得到每个方向的星号; 总的星号是否等于图中的星号。...: 另外一种简单的做法,以5个星号作为基础图案,遍历整个图找到一个最小的+号。 然后延伸去看长度,最后看是否等于所有星号字符数量。 代码地址。...输出: 第一行数字m,表示m段歌词。 接下来是m段歌词,每段两行。...而歌词的要求,可以表述为: 1、从相同长度字符串中,取出结尾相同的两个单词,作为第1、2行的第二个单词; 2、从相同长度字符串中,取出长度相同的两个单词,作为第1、2行的第一个单词; 从这里,我们可以得到一个贪心的策略...: a.先两个两个的取出所有长度相同并且元音结尾相同的单词,得到x组,这是可能的最大歌词数量; b.从剩下的所有单词中,两两取出所有长度相同的单词,得到y组,ans=min(x, y)组; 如果x

    75750

    这AI保熟吗?大谷Stable Diffusion巨制:《华强买瓜》好莱坞巨星版来了!

    它的答案最终决定了这些AI系统能否在构建通用智能,也就是AGI时派上用场。 虽说它们生成的图像十分绚丽,而且很可能会彻底改变艺术实践,但这仍然不能说明或代表AGI方面的进展。...马库斯表示,自己8岁的孩子看完之后都无法理解:「咖啡为何不会从杯子的洞里漏出来?」...因而,从2021年底到现在,先后有OpenAI的GLIDE、DALL·E-2和Google的Imagen都用上了Diffusion。...Stable Diffusion在4000台 A100 显卡集群上,训练了一个月时间,再加上有近59亿条图片-文字平行数据的高质量数据集LAION-Aesthetics加持,生成结果完全不亚于DALL·...Stable Diffusion其实是从科研团队、公司和无数用户组成的复杂网络中「长出来的」,未来它还会迭代,变得更强大,也会给我们带来更多的惊喜。

    75020
    领券