3 条题解
-
1
首先,100里有8个是我的。😎 (咳咳...) 好,开始正题。 First.We must读懂题目。 题目要求是:给一个字符和一个数字,绘制成一个等腰三角形。 看似很简单,实则也不难,接下来请跟随我的脚步,来完成本题。 Then.Let`s梳理解题流程,我们需要绘制一个三角形,一行里都含有什么因素? 有空格和字符。我们需要输出它们。 Next.We can看输入输出 输入一个字符和数字(行数); 输出一个等腰三角形。 来,我们来作一个有关这题的题 给你行数和字符,打印一个直角三角形。 Can you? 这是有关这题的题的答案: #include <bits/stdc++.h> using namespace std; int main () { char n;\\字符 int a;\\行数 int b=0;\\字符个数 cin>>n>>a;\\输入 for(int i=1;i<=a;i++)\\循环行数,内输出每行的字符 { b++;\\字符个数每次加1 for(int j=1;j<=b;j++)\\循环字符个数,按要求输出字符 { cout<<n;\\输出字符 } cout<<endl;\\换行,再循环一遍 } return 0; } 直角三角形可以打印了,那么就差空格了 我们可以发现规律,第n行的空格是总行数减n; 有了以上的条件,我们就可以暴力枚举了。 BUT,我们要的是等腰三角形,所以上面的b++要改成b+=2; 代码我放在下面了 #include <bits/stdc++.h> using namespace std; int main () { char n;\\定义字符 int a,b,c=1;\\a代表行数 cin>>n>>a;\\输入 b=a;\\行数赋值给空格数 for(int i=1;i<=a;i++)\\循环行数,打印相应的空格与字母 { b--;\\由于行数的转变,空格数也要转变 for(int j=1;j<=b;j++)\\循环输出空格 { cout<<' '; } for(int j=1;j<=c;j++)\\循环输出字符 { cout<<n; } cout<<endl;\\每一行结束后都要换行 c+=2;\\由于行数的转换,输出的字符数量也要加2。 } return 0;\\结束 }
- 1
信息
- 编号
- 2323
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 99
- 已通过
- 47
- 上传者