1. 程式人生 > >L1 002-列印沙漏

L1 002-列印沙漏

L1-002. 列印沙漏


時間限制
400 ms
記憶體限制
65536 kB
程式碼長度限制
8000 B
判題程式
Standard
作者

陳越

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印


*****
 ***
  *
 ***
*****
所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
給定任意N個符號,不一定能正好組成一個沙漏。要求打印出的沙漏能用掉儘可能多的符號。


輸入格式:
輸入在一行給出1個正整數N(<=1000)和一個符號,中間以空格分隔。


輸出格式:
首先打印出由給定符號組成的最大的沙漏形狀,最後在一行中輸出剩下沒用掉的符號數。


輸入樣例:

19 *

輸出樣例:
*****
 ***
  *
 ***
*****

2

分析:

需要控制好。

#include <iostream>
#include<stdio.h>
#include<math.h>
using namespace std;

int main()
{
    int n,m,num,hang;
    char c;
    scanf("%d %c",&n ,&c);
    m=n-1;
    num=1;
    hang=1;
    while(1)
    {
        num+=2;
        if(m>=num*2)
        {
            m=m-(num*2);
            hang++;
        }
        else
            break;
    }
    for(int i=hang;i>=1;i--)
    {
        for(int j=0;j<hang-i;j++)
            printf(" ");
        for(int j=1;j<=2*i-1;j++)
            printf("%c",c);
        printf("\n");
    }
    for(int i=2;i<=hang;i++)
    {
        for(int j=1;j<=hang-i;j++)
            printf(" ");
        for(int j=1;j<=2*i-1;j++)
            printf("%c",c);
        printf("\n");
    }
    printf("%d",m);
    return 0;
}


相關推薦

L1-002 列印沙漏

L1-002 列印沙漏 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順

【JAVA】團體程式設計天梯賽 L1-002 列印沙漏 (20 分)

[JAVA] L1-002 列印沙漏 (20 分) 原題連結 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1

PTA:L1-002 列印沙漏 (java)

package PTA; import java.util.Scanner; /* L1-002 列印沙漏 (20 分) 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇

PAT練習集天梯賽L1-002. 列印沙漏--JAVA

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。 給定任意N個符號

L1 002-列印沙漏

L1-002. 列印沙漏時間限制 400 ms 記憶體限制 65536 kB 程式碼長度限制 8000 B 判題程式 Standard 作者 陳越 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例

L1-002 列印沙漏(找規律)

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相

L1-002. 列印沙漏—天梯賽

think: 1推理數學關係,尋找規律關係 2注意空格的輸出 L1-002. 列印沙漏 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是

PAT L1-002 列印沙漏

閒來無事,刷一波PAT,這是PAT練習題第六題,題目大意是用是輸入的字元列印一個沙漏形狀,比如給了19個“c”,就得列印包括儘量多的“c”的沙漏,和剩餘的“c”個數。結果如下 ccccc ccc   c  ccc ccccc 2 大致分了兩個部分

C++ L1-002. 列印沙漏

L1-002. 列印沙漏 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇

Java 團體程式設計天梯賽-練習集-列印沙漏

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。

PAT乙級 1027 列印沙漏

測試點0、3通過,但1、2執行超時,不知道問題出在哪裡。以下是程式碼: #include<stdio.h> int main(){ int N,useful=1,useless,first_row;//給定字元數、可用字元數、無用字元數、第一行字元數 char ch;//

註釋“PAT 乙級 1027. 列印沙漏(20) Java版”——讓你輕鬆讀懂

尊重原作者,原文資訊如下。 原文作者:柳婼 來源:CSDN 原文:https://blog.csdn.net/liuchuo/article/details/56676279 版權宣告:本文為博主原創文章,轉載請附上博文連結! 我只是對其程式碼按自己的理解做了註釋,

PAT乙級1027列印沙漏

題目描述: 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。 給定任意N個符號,不一定能正好組

PAT (Basic Level) Practice 1027 列印沙漏(20)

此題連結:https://pintia.cn/problem-sets/994805260223102976/problems/994805294251491328 1027 列印沙漏(20)(20 point(s)) 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”

PTA 列印沙漏

1 列印沙漏(15 分) 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從

PAT C語言 1027 列印沙漏 (20 分)

PAT C語言 1027 列印沙漏 (20 分) #include<stdio.h> int main() { int n,M; char c; scanf("%d %c", &n, &c); /* 獲得上三角共有多少行 這

PAT乙級 列印沙漏

列印沙漏 (20 分) 題目描述: 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到

資料結構-起步能力自測題-自測-1 列印沙漏

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。 給

PTA B1027 列印沙漏

 這道題感覺好難呀,看了答案一遍都做不出來>< 注意: 1.根據公式計算得的x可能是偶數,這種情況下必須減1. 2.sqrt函式的引數必須是浮點數,因此要把係數2寫成2.0,或者在引數

列印沙漏

本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊