2301_80166152 2023-11-08 09:15 采纳率: 25%
浏览 34

C语言 打印菱形图案 PTA填空

m 和i是啥,怎么填才能正确打印出来菱形啊?

输出一个正奇数n(1<=n<=9),打印一个高度为n的,由*组成的正菱形图形。

int i, j, m, n; 
scanf("%d", &n); 
m =       ;
for(                   )   (3 分)
{   
for (j = m + 1 - i; j > 0; j--)
           { printf (" ");   }      
 for (j = 1; j <= 2 * i - 1; j++)
          {  printf ("*");   }      
 printf("\n");
 }                                                         
for  (              )(3 分)
{  
 for (j = m + 1 - i; j > 0; j--)
      {  printf (" ");   }     
 for (j = 1; j <= 2 * i - 1; j++)
      {  printf ("*");   }      
 printf ("\n"); 
}

  • 写回答

2条回答 默认 最新

  • 木头人123。 2023-11-08 09:20
    关注

    你需要把代码填写成如下形式:

    int i, j, m, n; 
    scanf("%d", &n); 
    m = n / 2 + 1;
    for(i = 1; i <= m; i++)   
    {   
        for (j = m + 1 - i; j > 0; j--)
        { 
            printf (" ");   
        }      
        for (j = 1; j <= 2 * i - 1; j++)
        {  
            printf ("*");   
        }      
        printf("\n");
    }                                                         
    for(i = m - 1; i >= 1; i--)
    {  
        for (j = m + 1 - i; j > 0; j--)
        {  
            printf (" ");   
        }     
        for (j = 1; j <= 2 * i - 1; j++)
        {  
            printf ("*");   
        }      
        printf ("\n"); 
    }
    

    在此代码中,变量m表示菱形的中间行数,i表示当前行数,j用于循环打印空格和星号。第一个for循环用于打印菱形的上半部分,第二个for循环用于打印菱形的下半部分。每一行先打印空格,然后打印星号,最后打印换行符。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月8日

悬赏问题

  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的