等差数列应用——控制台输出沙漏

原创 2017年03月11日 16:28:17



#include<stdio.h>

int main()
{
  int i,j,k,l, a1, an, d, n, sn, iN, hN;

  while(1)
  {
    //输入N
    printf("\r\nPlease input N:");
    scanf("%d", &iN);

    //小于1退出
    if(iN < 1)
      break;

    //确定边界范围 
    hN = (iN+1) / 2;
    a1 = 1, d = 2;  
    an=a1, sn=a1, n=0;
    while( sn + an + d <= hN )
    {
      an+=d;
      sn+=an;
      n++;
    }
    printf("maxN = %d\r\n", sn*2-1);

    //输出前半部分
    for(i=0,j=an; i<=n; i++, j-=d)
    {
      l = (an-j)/2;
      for(k=0; k<l; k++)
        printf(" ");

      for(k=0; k<j; k++)
        printf("*");

      for(k=0; k<l; k++)
        printf(" ");

      printf("\r\n");
    }

    //输出后半部分
    for(i=0,j=a1+d; i<n; i++, j+=d)
    {
      l = (an-j)/2;
      for(k=0; k<l; k++)
        printf(" ");
    
      for(k=0; k<j; k++)
        printf("*");
    
      for(k=0; k<l; k++)
        printf(" ");
    
      printf("\r\n");
    }
  }

  return 0;
}

Please input N:100
maxN = 97
*************
 ***********
  *********
   *******
    *****
     ***
      *
     ***
    *****
   *******
  *********
 ***********
*************


控制台下打印沙漏模型

  • 2011年10月09日 14:42
  • 1KB
  • 下载

【再思考】PATBasic——1027. 打印沙漏(20)

1027. 打印沙漏(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题...
  • fynjy
  • fynjy
  • 2015年06月26日 11:12
  • 368

android——沙漏计时器

原创文章,转载注明              先看一下效果图吧                           这里说一下关键的思路,所有的细节都说到太麻烦了。              1、...

每天一道编程题——打印沙漏

所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出...

英语的沙漏——14年9月英语总结

走过春夏秋冬,我们便理解了季节的轮回。经过昨天,今天,明天,我们便明白了生命的可贵。四季可以轮回,花谢了还有来年, 融了还有明年。生命的进程中,昨天已过,今天正在,明天会不会如愿。...

sandglass(沙漏)——一个让人解脱的python时间处理库

在游戏开发的过程中频繁的需要跟时间相关的做处理,而python内置了好多个时间处理库,datetime/date/time/calendar/timedelta等,细节繁多略具迷惑性。很多东西不够便捷...

【回忆的沙漏——半年总结】

前言: 记得9月份的时候刚刚开学,而现在,新的学期即将开始,又是一个开学季,时间的脚步真快,来不及你去抓住它,半年的时光已经过去,留下的是——回忆,还有收获与成长。我们不知不觉在成长,我们又长大了一岁...

C# 控制台应用程序——随机数

  • 2014年05月13日 00:31
  • 33KB
  • 下载

控制台应用程序——随机数

一.    实验要求 这是一个实际的项目衍生出来的核心算法之一。防伪码是我们现在经常在商品上看到的防伪手段之一,现在需要编写一个防伪码生成器,按照输入参数生成防伪码,并且把生成的时间及指定的防伪码输...

透明flash,沙漏相框

  • 2008年08月29日 01:10
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:等差数列应用——控制台输出沙漏
举报原因:
原因补充:

(最多只允许输入30个字)