洞洞幺# 2023-11-10 19:10 采纳率: 66.7%
浏览 28
已结题

打印空心菱形怎么弄啊

img

img

img

这个真的敲了很久
大概想法是
每一行的字母的位置都是上一行向左向右移一格
所以找出中间位置,依次加减即可
我把上下两部分全部放在一个for循环里,所以前面加了个if判断条件,可以把下面三角转换为上面三角,不知道这个条件对不对,下面的if语句也是这样滴
但是只对了一个测试点
能不能看看哪里有问题啊

img


忘记发题了😅

img

  • 写回答

3条回答 默认 最新

  • 小尘要自信 Java新星创作者 2023-11-10 20:09
    关注
    
    #include <stdio.h>
    #include <math.h>
    
    int main() {
        int n, c, k, space = 1;
        
        printf("Enter the number of rows: ");
        scanf("%d", &n);
        
        space = n - 1;
        
        for (k = 1; k <= n; k++) {
            for (c = 1; c <= space; c++)
                printf(" ");
            
            space--;
            
            for (c = 1; c <= 2 * k - 1; c++) {
                if (c == 1 || c == 2 * k - 1)
                    printf("*");
                else
                    printf(" ");
            }
            printf("\n");
        }
        
        space = 1;
        
        for (k = 1; k <= n - 1; k++) {
            for (c = 1; c <= space; c++)
                printf(" ");
            
            space++;
            
            for (c = 1; c <= 2 * (n - k) - 1; c++) {
                if (c == 1 || c == 2 * (n - k) - 1)
                    printf("*");
                else
                    printf(" ");
            }
            printf("\n");
        }
        
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月24日
  • 已采纳回答 11月18日
  • 修改了问题 11月10日
  • 创建了问题 11月10日

悬赏问题

  • ¥60 db2move nlzxams import 导出db2备份数据报错
  • ¥15 关于#python#的问题:全文总结功能咨询
  • ¥15 俄罗斯方块中无法同时消除多个满行
  • ¥15 c#转安卓 java html
  • ¥15 os.listdir文件路径找不到
  • ¥15 使用gojs3.0,如何在nodeDataArray设置好text的位置,再go.TextBlock alignment中进行相应的改变
  • ¥15 psfusion图像融合指标很低
  • ¥15 银河麒麟linux系统如何修改/etc/hosts权限为777
  • ¥50 医院HIS系统代码、逻辑学习
  • ¥30 docker离线安装mysql报错,如何解决?