日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

XTU OJ 1397 Patchouli的金字塔

發(fā)布時(shí)間:2024/3/12 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XTU OJ 1397 Patchouli的金字塔 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述

Patchouli想要繪制一個(gè)金字塔。金字塔的圖案由n個(gè)正三角形和倒三角形堆疊而成,具體的繪制方法如下:

  • 每個(gè)三角形由*,/,\和-組成,分別代表三角形的頂點(diǎn)和三條邊。

  • 第一行只包含一個(gè)正三角形,其余各行的三角形按照”正三角形,倒三角形,正三角形,倒三角形,…… “的順序緊致排列。

  • 除最后一行外,每一行的三角形比上一行多2個(gè)。一共輸出n個(gè)三角形。

例如,n=1時(shí),圖案如下:

*/ \ * - *

n=2時(shí),圖案如下:

*/ \* - */ \ * - *

n=3時(shí),圖案如下:

*/ \* - */ \ / * - *

n=7時(shí),圖案如下:

*/ \* - */ \ / \* - * - */ \ / \ * - * - *

Patchouli想知道n個(gè)三角形組成的金字塔的圖案是怎樣的?

輸入

第一行包含一個(gè)正整數(shù)T(1≤T≤100),表示樣例的個(gè)數(shù)。 接下來(lái)的T行,每行包含一個(gè)正整數(shù)n(1≤n≤100),表示金字塔中的三角形的個(gè)數(shù)。

輸出

對(duì)于每個(gè)樣例輸出對(duì)應(yīng)的圖案。每行的行末不包含多余的空格。

樣例輸入

4 1 2 3 4

樣例輸出

*/ \ * - **/ \* - */ \ * - **/ \* - */ \ / * - **/ \* - */ \ / \ * - * - *

此類題型都是屬于比較耗時(shí)間的題目,需要慢慢修正代碼,我的代碼比較長(zhǎng)和簡(jiǎn)陋,只能提供一些思路

本題我的思路是分奇和偶行輸出,最后一行的三角形要單獨(dú)輸出,(其實(shí)也可以不,只是我太菜了,試了好幾遍也沒(méi)有成功(狗頭),于是就單獨(dú)拿出來(lái)輸出了),

#include<stdio.h> int main() {int k;scanf("%d",&k);while(k--){int n,a=1,i,j,cnt=0,p=0;//計(jì)數(shù)scanf("%d",&n);while(a*a<n)//確定邊長(zhǎng){a++;}for(i=0;i<2*a-1;i++){for(j=0;j<2*a-i;j++)//空格輸出{printf(" ");}if(i%2==1)//偶數(shù)行,有三種輸出,/,\和空格,這該如何輸出???{printf("/");for(j=0;j<2*i;j++){if(j%4==1){printf("\\");cnt++;}else if(j%4==3){printf("/");cnt++;}else printf(" ");}}else//奇數(shù)行{if(i==2*a){for(j=0;j<p;j++){if(j%4==0) printf("*");else if(j%4==2) printf("-");else printf(" ");}continue;}for(j=0;j<2*i+1;j++){if(j%4==0) printf("*");else if(j%4==2) printf("-");else printf(" ");}}printf("\n"); // if(cnt==n) break;}printf(" ");int num;num=n-cnt; //在最后一行需要打印的三角形個(gè)數(shù)if(num%2!=0) //最后一行為奇數(shù)個(gè)三角{for(j=1;j<=(num+1)/2;j++){printf("/ \\");if(j!=(num+1)/2)printf(" ");}}else //最后一行為偶數(shù)個(gè)三角{printf("/ ");for(j=1;j<=num/2;j++){ printf("\\ /");if(j!=num/2) printf(" ");}}printf("\n");for(j=1;j<=(num+1)/2;j++){printf("* -");if(j!=(num+1)/2)printf(" ");}printf(" *");printf("\n");} }

歡迎大佬指正!!!

總結(jié)

以上是生活随笔為你收集整理的XTU OJ 1397 Patchouli的金字塔的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。