zoukankan      html  css  js  c++  java
  • 打印沙漏

    #include<stdio.h>
    int main()
    {
           int n,i,j,k,sum,a;
           char ch;
           sum=1;
           scanf("%d",&n);
           scanf("%c",&ch);
           for(i=1;sum<=n;i++)
           {
                  sum+=2*(2*(i+1)-1);
            }
            i=i-1;
            for(j=0;j<i;j++)
            {
                   for(k=0;k<j;k++);
                   {
                           printf(" ");
                   }
                   for(a=0;a<=2*(i-j)-1;a++)
                   {
                           printf("%c",ch);
                    }
                   printf(" ");
             }
             for(j=2;j<=i;j++)
             {
                    for(k=0;k<i-j;k++);
                    {
                            printf(" ");
                    }
                    for(a=0;a<=2*j-1;a++)
                    {
                           printf("%c",ch);
                     }
                     printf(" ");
               }
               printf("%d",n-(sum-2*(2*(i+1)-1);
               return 0;
    }
    设计思路

         
    本题调试过程碰到问题及解决办法
         注意1:打印沙漏的上半部分时,无思路。
         解决办法:在百度上参考参考别人的,从中获取灵感,上半部分打印不是特别难。
         注意2:打印沙漏下半部分时,不知道怎么打印空格
         解决办法:请教了那些写完的同学,下半部分打印从符号着手,因为符号可以按等差数列打印,再推出j=2,从而一次往下推。
     
  • 相关阅读:
    ROUTEROS常用命令
    失败团队领导者的10个特征
    一关于C#程序反编译讨论的帖子
    给窗体的任务栏右键菜单增加项目
    C#实现自动填表
    JavaScript实现拷贝图像
    跟踪路由Tracert
    更改软件默认安装目录
    清除右键菜单右打开方式中的项
    程序员的十层楼(1~8层)
  • 原文地址:https://www.cnblogs.com/hunan-hengyang/p/10398914.html
Copyright © 2011-2022 走看看