数字菱形

输出如图所示的数字菱形,图中所示为4阶数字菱形。

     1 

   212

 32123

4321234

  32123

    212

      1

先确定程序形式,因为结果是对称图形,所以可以分部分输入

第一个循环输入上部分的四行

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int n, i, j, k;
  5. scanf("%d", &n);
  6. for (i = 1; i <= n; i++) //一共n行
  7.  for (j = 1; j <= n - i; j++) //数字之前有n-i个空格
  8.    printf(" ");
  9.  for (k = 1; k <= 2 * i - 1; k++) //空格之后输入数字
  10.    printf("*");
  11. printf("\n");
  12. }
  13. }

这样可以把大致的框架搞定 输出结果就是一个等腰三角形

然后填充内容 

每一行的数字都是2*n-1个 ,并且都是从大到小输出,所以可以从中间分开;

定义一个整数k,k从i开始到k大于一递减

在定义一个整数l,l从2到i递增,然后把下半部分补全。

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int n, i, j, k,m=1;
  5. scanf("%d", &n);
  6. for (i = 1; i <= n; i++)
  7. {
  8. for (j = 1; j <= n - i; j++)
  9. printf(" ");
  10. for (k = i; k >=1; k--)
  11. printf("%d", k);
  12. for (int l=2;l<=i;l++)
  13. printf("%d", l);
  14. printf("\n");
  15. }
  16. for (i = n-1; i >=1; i--)
  17. {
  18. for (j = 1; j <= n - i; j++)
  19. printf(" ");
  20. for (k = i; k >= 1; k--)
  21. printf("%d", k);
  22. for (int l = 2;l <= i;l++)
  23. printf("%d", l);
  24. printf("\n");
  25. }
  26. }
  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值