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,从而一次往下推。
     
  • 相关阅读:
    脑子好,蹦两下!程序员应该玩的小游戏
    推荐博客备份软件blog_bakcup
    经验(转)
    as super
    ActionScript工程如何使用Flash CS的fl包中的UI组件(转)
    astar(转)
    GROUPING,ROLLUP和CUBE(转)
    什么是分区表?为什么要用分区表?如何创建分区表?
    Flash player 详解(zhuan)
    jsfl(转)
  • 原文地址:https://www.cnblogs.com/hunan-hengyang/p/10398914.html
Copyright © 2011-2022 走看看