18169947283 发表于 2020-11-6 14:37:10

急急急

从键盘输入n, 对应输出*组成的菱形
      *
   ***
   *****
*******
*********
*******
   *****
    ***
   *

sunrise085 发表于 2020-11-6 15:07:36

你没说什么语言,n的含义也不是很清楚。我就只能这样写了。你自己看看吧。
#include <stdio.h>
#include <math.h>
int main(){
    int n,i,j;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
      for(j=0;j<=n-i-1;j++)
            printf(" ");
      for(j=0;j<=2*i;j++)
            printf("*");
      printf("\n");
    }
    for(i=n-2;i>=0;i--)
    {
      for(j=0;j<=n-i-1;j++)
            printf(" ");
      for(j=0;j<=2*i;j++)
            printf("*");
      printf("\n");
    }
    return 0;
}

18169947283 发表于 2020-11-6 15:13:10

sunrise085 发表于 2020-11-6 15:07
你没说什么语言,n的含义也不是很清楚。我就只能这样写了。你自己看看吧。

万分感谢,用c语言写 ,n是行数,输入n,打印出九行

sunrise085 发表于 2020-11-6 15:18:33

本帖最后由 sunrise085 于 2020-11-6 15:20 编辑

18169947283 发表于 2020-11-6 15:13
万分感谢,用c语言写 ,n是行数,输入n,打印出九行

确定n是行数?那若输入一个偶数咋办?打印出啥?
下面程序,输入奇数,打印的行数一致,输入偶数,多打印一行
因为菱形只能是奇数行
#include <stdio.h>
#include <math.h>
int main(){
    int n,i,j;
    scanf("%d",&n);
    for(i=0;i<=n/2;i++)
    {
      for(j=0;j<=n/2-i-1;j++)
            printf(" ");
      for(j=0;j<=2*i;j++)
            printf("*");
      printf("\n");
    }
    for(i=n/2-1;i>=0;i--)
    {
      for(j=0;j<=n/2-i-1;j++)
            printf(" ");
      for(j=0;j<=2*i;j++)
            printf("*");
      printf("\n");
    }
    return 0;
}
页: [1]
查看完整版本: 急急急