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,从而一次往下推。
     
  • 相关阅读:
    CSS中float与A标签的疑问
    常用的Css命名方式
    div css 盒子模型
    HTML初级教程 表单form
    Redis学习记录(二)
    Redis学习记录(一)
    Java源码——HashMap的源码分析及原理学习记录
    java编程基础——从上往下打印二叉树
    java编程基础——栈压入和弹出序列
    java基础编程——获取栈中的最小元素
  • 原文地址:https://www.cnblogs.com/hunan-hengyang/p/10398914.html
Copyright © 2011-2022 走看看