直角三角形左边靠齐
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
scanf("%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=i;j++){
printf("*");
}
printf("\n");
}
}
直角三角形右边靠齐
这个相当于每行前面补n-i个空格在将每行*的数量输出就行
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
scanf("%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n-i;j++){
printf(" ");
}
for (j=1;j<=i;j++){
printf("*");
}
printf("\n");
}
}
等腰三角形
这个图形也就在上个三角形的基础上每排多加了i-1个‘*’
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
scanf("%d",&n);
for (i=1;i<=n;i++){
for (j=1;j<=n-i;j++){
printf(" ");
}
for (j=1;j<=i;j++){
printf("*");
}
for (j=1;j<=i-1;j++){
printf("*");
}
printf("\n");
}
}
倒直角三角形左边对齐
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
cin>>n;
for (i=1;i<=n;i++){
for (j=n;j>=i;j--){
printf("*");
}
printf("\n");
}
}
倒直角三角形右边对齐
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
cin>>n;
for (i=1;i<=n;i++){
for (j=1;j<=i-1;j++){
printf(" ");
}
for (j=n;j>=i;j--){
printf("*");
}
printf("\n");
}
}
倒等腰三角形
其实这样的图形慢慢就有规律也就上面的拼过来
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
cin>>n;
for (i=1;i<=n;i++){
for (j=1;j<=i-1;j++){
printf(" ");
}
for (j=n;j>=i;j--){
printf("*");
}
for (j=n-1;j>=i;j--){
printf("*");
}
printf("\n");
}
}
关于X轴对称的等腰三角形
这个也是将两种等腰三角形拼过来就行
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
cin>>n;
for (i=1;i<=n;i++){
for (j=1;j<=n-i;j++){
printf(" ");
}
for (j=1;j<=i;j++){
printf("*");
}
for (j=1;j<=i-1;j++){
printf("*");
}
printf("\n");
}
for (i=1;i<=n;i++){
for (j=1;j<=i-1;j++){
printf(" ");
}
for (j=n;j>=i;j--){
printf("*");
}
for (j=n-1;j>=i;j--){
printf("*");
}
printf("\n");
}
}
关于Y轴对称的等腰三角形
思路也差不多只需注意第二个图形空格翻倍就行
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,j;
cin>>n;
for (i=1;i<=n;i++){
for (j=1;j<=n-i;j++){
printf(" ");
}
for (j=1;j<=i;j++){
printf("*");
}
for (j=1;j<=i-1;j++){
printf("*");
}
for (j=1;j<=n-i;j++){
printf(" ");//因为前面一个图形实际上最后没有空格所以需要补上两倍
}
for (j=1;j<=i;j++){
printf("*");
}
for (j=1;j<=i-1;j++){
printf("*");
}
printf("\n");
}
}