7 条题解
-
11
这一道题可以分为两个部分来打印
- 从第一行 ~ n + 1行
- 首先,把正星号三角形的代码搬过来
- 然后,把倒星号三角形的代码搬过来
- 最后,把 s 减去的值改为 1(因为这里 n 会比原来小 1)
- 然后运行代码试试吧~
好了,看看代码吧(绝对AC)
#include <bits/stdc++.h> using namespace std; int main() { int n, s = 1; cin >> n; for (int i = n; i >= 0; i--) { for (int j = 1; j <= i; j++) cout << " "; for (int j = 1; j <= s * 2 - 1; j++) cout << "*"; cout << endl; s += 1; } s = n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) cout << " "; for (int j = 1; j <= s * 2 - 1; j++) cout << "*"; cout << endl; s -= 1; } return 0; }
-
7
可直接复制提交;先素质点赞,再复制,上代码!
#include <bits/stdc++.h> using namespace std; int main() { int n, s = 1; cin >> n; for (int i = n; i >= 0; i--) { for (int j = 1; j <= i; j++) { cout << " "; } for (int j = 1; j <= s * 2 - 1; j++) { cout << "*"; } cout << endl; s += 1; } s = n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { cout << " "; } for (int j = 1; j <= s * 2 - 1; j++) { cout << "*"; } cout << endl; s -= 1; } return 0; }
-
1
#include<iostream> using namespace std; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ for(int j=n;j>=i;j--){ cout<<' '; } for(int j=1;j<=i*2-1;j++){ cout<<'*'; } cout<<endl; } for(int i=1;i<=2*n+1;i++){ cout<<'*'; } cout<<endl; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ cout<<' '; } for(int j=1;j<=2*n-2*i+1;j++){ cout<<'*'; } cout<<endl; } return 0; }
-
0
#include <cstdio> using namespace std; int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ for(int j=1;j<=n+1-i;j++)printf("%c",' '); for(int j=1;j<=i*2-1;j++)printf("*"); printf("\n"); } for(int i=1;i<=n*2+1;i++)printf("*"); printf("\n"); for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++)printf("%c",' '); for(int j=1;j<=n*2+1-i*2;j++)printf("*"); printf("\n"); } return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; n++; for (int i=1;i<=n;i++) { for (int j=1;j<=n-i;j++) cout<<" "; for (int j=1;j<=i*2-1;j++) cout<<"*"; cout<<'\n'; } for (int i=n-1;i>=1;i--) { for (int j=1;j<=n-i;j++) cout<<" "; for (int j=1;j<=i*2-1;j++) cout<<"*"; cout<<'\n'; } return 0; }
-
0
这个菱形我们可以把它分为两部分,第一部分为前n+1行的正三角形,第二部分为行数为n的倒三角形,用两个循环嵌套输出这两部分即可。(正三角形、倒三角形前面题目有涉及到)
//先输出正三角形 for (int i = 1; i <= n+1; i++)//行数为输入的n+1 { for (int j = 1; j <= n+1 - i; j++) cout << " "; //每行第一部分的空格 for (int j = 1; j <= 2 * i - 1; j++) cout << "*"; //每行第二部分的星号 cout << endl; } //输出行数为n的倒三角形 for (int i = n; i >= 1; i--) //行数从n-1开始,倒序输出,但实际上是从第一行输出的 { for (int j = 1; j <= n+1 - i; j++) cout << " "; //每行第一部分的空格 for (int j = 1; j <= 2 * i - 1; j++) cout << "*"; //每行第二部分的星号 cout << endl; //每输出完一行就换行 }
-
-1
#include <iostream> using namespace std; int main() { int n; cin >> n; for (int i = 1; i <= 2 * n + 1; i++) { if (i > n + 1 ) { for (int j = 1;j <= i - n - 1;j++) { cout << " "; } for (int j = 1;j <= 4 * n - 2 * i + 3;j++) { cout << "*"; } } if (i <= n + 1) { for (int j = 1; j <= n - i + 1; j++) { cout << " "; } for (int j = 1; j <= 2 * i - 1; j++) { cout << "*"; } } cout << endl; } return 0; }
- 1
信息
- ID
- 72
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 1
- 标签
- 递交数
- 473
- 已通过
- 325
- 上传者