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

    7-1 打印沙漏 (20 分)

    本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

    *****

     ***

      *

     ***

    *****

    所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

    给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

    输入格式:

    输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

    输出格式:

    首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

    输入样例:

    19 *

    输出样例:

    *****

     ***

      *

     ***

    *****

    2

    (1)实验代码:

    #include<stdio.h>

    #include<math.h>

    int main()

    {

        int i,j,k,a,b,c,d=0;;

        char op;

        scanf("%d %c",&a,&op);

        for(i=3;;i=i+2) 

        {

            c=i*2;. 

            d=d+c;/*把每边的星数相加,算总数 ,总数只有大于或等于输入数的情况,大于就是多加了一行 */

            if(d+1>a)

            { 

                i=i-2; 

                break;

            }

            if(d+1==a)

            {

                break;

            } 

        }

        int z=0;/*星数*/ 

        int g=i;/*i是从上往下数菱形的层数*/ 

        int e=(i-1)/2;int f=e;/*空格数最多为e,然后逐层递减 */

        for(int h=1;h<=g;h++)/*层数*/

        { 

            for(j=fabs(e);j<f;j++)

            {

                printf(" ");/*空格数*/ 

            }

            for(int k=fabs(i);k>0;k--)

            {

            printf("%c",op); /*每一层的星数*/ 

            z++; 

            }

            printf(" ");

            e=e-1;

            i=i-2; 

            if(i==-1)

            {

                i=i-2;/*当i=1时,i-1=-1,则i=-1时,又输出一个星,一颗星的有了两层,需要将i变成-3*/

            } 

        }

        printf("%d",a-z);

        return 0;

     } 

    (2)设计思路:

    (3)本题调试过程碰到问题及解决办法

    这个题虽然见过,但是不会,看了别人的思路学了一下,所以不知道自己有什么问题

     (4)运行结果截图

  • 相关阅读:
    android学习笔记----启动模式与任务栈(Task)
    二叉搜索树转化成双向链表
    复杂链表的复制
    判断是否为二叉搜索树的后序遍历序列
    树的子结构
    调整数组顺序使奇数位于偶数前面,且奇数之间、偶数之间的相对位置不变
    android学习笔记----HandlerThread学习
    android学习笔记----Handler的使用、内存泄漏、源码分析等一系列问题
    原因分析——cin,coutTLE,scanf,printf就AC
    洛谷P1618_三连击(升级版)
  • 原文地址:https://www.cnblogs.com/tuziwangjj/p/10413060.html
Copyright © 2011-2022 走看看