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;
    }
    ···

    注意事项

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

    实验截图

  • 相关阅读:
    LeetCode: Reverse Words in a String && Rotate Array
    LeetCode: Maximum Product Subarray && Maximum Subarray &子序列相关
    =new、=null、.clear()、system.gc()的区别
    对象转字符串的效率问题
    Java遍历Map对象的四种方式
    JDK升级
    eclipse的任务列表
    统一修改数据库表名字段大小写
    get传数组
    vue编辑回显问题
  • 原文地址:https://www.cnblogs.com/lqw466460/p/10390809.html
Copyright © 2011-2022 走看看