关于C语言的等腰三角形
等腰三角形:
如果我输入数字3,如图:
*
* *
* * *
依次类推输入n,就会为n行的等腰三角形…
重要的是其空格的迭代
可以以i为行数,j为列数
i=0,j=n
i=1,j=n-1
e.g:(?代表空格数)
n为3
???*
??* *
?* * *
数学函数关系式推导出(-1)*i+n
for(int j=0;j<(-1)*i+n;j++)//空格数
那么i=0,*为1
i=1,*为2
i=2,*为3
可以写出
`for(int j=0;j<i+1;j++)//打印*数量
最关键的部分已经写出,总的代码如下
#include <stdio.h>
int main() {
printf("please enter your number:\n");
int n;
scanf_s("%d",&n);
for(int i=0;i<n;i++){//行数
printf("\n");
for(int j=0;j<(-1)*i+n;j++)//空格数
{
printf(" ");
}
for(int j=0;j<i+1;j++)//打印*数量
{
printf("* ");
}
}
}
please enter your number:
10
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
那么如果是以字母呢?
只需如此:
`for(int j=0;j<i+1;j++)//打印*数量
{
char ch='A';
printf("%c ",ch+j);
}`
please enter your number:
6
A
A B
A B C
A B C D
A B C D E
A B C D E F