题目描述
请用+-*/这四个符号依次填入以N为高的等腰三角阵中,以N为5的三角阵为例,填入顺序如图所示。
输入
先输入一个T表示测试组数,之后输入T个等腰三角阵的高N,其中0<=T<10,0<=n<50。
输出
请为每组测试给出一个三角阵,每组间用一个空行隔开。
样例输入
1
10
样例输出
+
* -
/ - *
- + + /
* + - / +
+ / / * * -
- / + * / - *
/ * * - - + + /
+ * / - * + - / +
* - - + + / / * * -
题目浅显易懂,然而我却很不容易才找到的规律。点点菜。
然后每个符号间要有空格题目也没说。
代码如下:
#include<iostream> using namespace std; int main() { char lalala[4]={'/','+','-','*'}; int n; int map[100][100]; int t; cin>>t; while(t--) { cin>>n; int x=1; int count=1; for(int i=1;i<=n;i++) { if(x%2==1) { int num=1; for(int j=x;j<=n;j++) { map[j][num]=count; count++; num++; } } else if(x%2==0) { int num=n-x+1; for(int j=n;j>=x;j--) { map[j][num]=count; count++; num--; } } x++; } for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { cout<<lalala[map[i][j]%4]<<" "; } cout<<endl; } cout<<endl; } return 0; }
本文介绍了一种使用特定符号填充等腰三角形数组的算法,并提供了完整的C++实现代码。该算法按照指定顺序填充符号,适用于不同大小的等腰三角阵。
54

被折叠的 条评论
为什么被折叠?



