打印数字空心菱形

朱雀 2022-10-24 01:42 340阅读 0赞

1 打印数字空心菱形

描述
由键盘输入 n(n 为奇数),打印如下图空心菱形
例 :
输入格式
7
输出格式
在这里插入图片描述
输入样例
3
输出样例
在这里插入图片描述
假设输入的奇数为N
注意点:
1,第i行数字前的空格数为N-i;
2,每行之间首数字和尾数字之间相差的数字为等差数列,差为2;
3,在开始打印下半部分时要注意,稍后会细讲;

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int n;
  5. scanf("%d",&n);
  6. int m;
  7. m=(n+1)/2;
  8. int i,j,k,t=1;
  9. for(i=1;i<=m;i++)
  10. {
  11. for(j=0;j<m-i;j++)
  12. {
  13. printf(" ");
  14. }
  15. printf("%d",i);
  16. if(i>=2)
  17. {
  18. for(k=0;k<t;k++)
  19. {
  20. printf(" ");
  21. }
  22. printf("%d",i);
  23. t=t+2;
  24. }
  25. printf("\n");
  26. }
  27. t=k-2;
  28. n=m;
  29. m=m-1;
  30. for(i=m;i>0;i--)
  31. {
  32. for(j=0;j<n-i;j++)
  33. {
  34. printf(" ");
  35. }
  36. printf("%d",i);
  37. for(k=0;k<t;k++)
  38. {
  39. printf(" ");
  40. }
  41. if(i>=2)
  42. {
  43. printf("%d\n",i);
  44. }
  45. t=t-2;
  46. }
  47. return 0;
  48. }

运行结果:在这里插入图片描述
(编译器为微软visual stdio code(2019))
关于打印下半部分:
如果采用t=t-2,要注意t在后面可能不止运行了一次t=t+2的运算,据测试结果,应该运行了2次,所以t=t-4和我上文的t=k-2的效果一致。

发表评论

表情:
评论列表 (有 0 条评论,340人围观)

还没有评论,来说两句吧...

相关阅读

    相关 打印数字空心菱形

    1 打印数字空心菱形 描述 由键盘输入 n(n 为奇数),打印如下图空心菱形 例 : 输入格式 7 输出格式 ![在这里插入图片描述][20210

    相关 Java打印实心菱形空心菱形

    我们用\号来填充菱形 首先,要想打印出菱形,我们先要对菱形有点认知,首先,菱形是四边相等的图形,只要四边相等,就是菱形,我们这里只说明竖着打印实心菱形和空心菱形。 实心菱形