• 打印沙漏


    1.实验代码

     1 #include <stdio.h>
     2 int main(int argc, char *argv[]) 
     3 {
     4     int i,su,k,j,m,n,kong,ge;
     5     char fuhao;
     6     while(1) 
     7     {
     8         scanf("%d %c",&su,&fuhao);
     9         if(su>0&&su<=1000)
    10                     break;
    11     }
    12     k=su-1;
    13     for (i=3;k>=2*i;i+=2) 
    14     {
    15         k=k-2*i;
    16     }
    17     i-=2;
    18     n=i;
    19     for (kong=0;i>=1;i-=2,kong++) 
    20     {
    21         for (j=0;j<kong;j++)
    22                     printf(" ");
    23         for (j=0;j<i;j++)
    24                     printf("%c",fuhao);
    25         printf("\n");
    26     }
    27     ge=kong-2;
    28     for(m=3;m<=n;m+=2,ge--){
    29         for(j=0;j<ge;j++)
    30         printf(" ");
    31         for(j=0;j<m;j++)
    32         printf("%c",fuhao);
    33         printf("\n");
    34     }
    35     printf("%d",k);
    36     return 0;
    37 }

    2.设计思路

    将沙漏分成三部分,上中下,发现空格和符号规律符合等差数列,然后用公式一步处理完。

    3.实验过程中遇到的问题

    之前没有找到规律想整体解决,后面发现要分部解决

    4.运行结果截图

  • 相关阅读:
    海报
    mailto
    tab+tab
    tab22
    tab
    line-height属性详解
    vertical-align属性详解
    窗口关系及框架、窗口位置、窗口大小、导航和打开窗口
    cursor属性
    深入了解css3新特性
  • 原文地址:https://www.cnblogs.com/xiangqi/p/10411914.html
Copyright © 2020-2023  润新知