zoukankan      html  css  js  c++  java
  • pta作业1

    7-1 打印沙漏 (20 分)

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





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

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

    输入格式:

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

    输出格式:

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

    输入样例:

    19 *

    输出样例:





    2

    设计思路

    ···

    include<stdio.h>

    int main()
    {
    int i,j,k,x,y,n,a,b,c,d,q,w;
    char m;
    x=6;
    y=1;
    q=0;
    scanf("%d %c",&n,&m);
    for(i=1;n-y>=x;i++)
    {
    y=y+x;
    x=x+4;
    }
    w=i2-1;
    for(j=1;j<=i;j++) /
    上半部分/
    {
    for(a=1;a<=q;a++)
    {
    printf(" ");
    }
    q=q+1;
    for(b=1;b<=w;b++)
    {
    printf("%c",m);
    }
    printf(" ");
    w=w-2;
    }
    q=q-1;
    w=w+2;
    for(k=1;k<i;k++) /
    下半部分*/
    {
    q=q-1;
    for(c=1;c<=q;c++)
    {
    printf(" ");
    }
    w=w+2;
    for(d=1;d<=w;d++)
    {
    printf("%c",m);
    }
    printf(" ");
    }
    printf("%d",n-y);
    return 0;
    }
    ···

    注意事项

    尤其在整合数据时,对于空格的输出尤其是需要注意,而且下半部分的输出不是简单反转

    实验截图

  • 相关阅读:
    Tomcat服务器原理详解
    junit入门
    lombok
    java 运行指定类的main函数
    席位分配问题——惯例Q值法和d&#39;hondt法的MATLAB程序
    5.2 calendar--通用日期的相关函数(3)
    [笔记]软件体系结构(1)--模式初印象
    hdu 1003
    linux虚拟机上挂载U盘
    Android中Java与web通信
  • 原文地址:https://www.cnblogs.com/lqw466460/p/10390809.html
Copyright © 2011-2022 走看看