直角杨辉三角形
#include<stdio.h>
#define N 10
int main()
{
int i,j,a[N][N];
for(i=0;i<N;i++)
a[i][i]=a[i][0]=1;
for(i=2;i<N;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
//输出
for(i=0;i<N;i++){
for(j=0;j<=i;j++)
printf("%-10d",a[i][j]);
printf("\n");
}
return 0;
}
- 第一列都为1
- 行号等于列号的也为1
- 除此之外的:下边的一项实际上是其头上两项相加
直角杨辉三角形,存放在二维数组中,其规律性
1 | ||||
---|---|---|---|---|
1 | 1 | |||
1 | 2 | 1 | ||
1 | 3 | 3 | 1 | |
1 | 4 | 6 | 4 | 1 |
对应的下标:
0,0 | ||||
---|---|---|---|---|
1,0 | 1,1 | |||
2,0 | 2,1 | 2,2 | ||
3,0 | 3,1 | 3,2 | 3,3 | |
4,0 | 4,1 | 4,2 | 4,3 | 4,4 |
如果还是觉得直角杨辉三角形对自己有些难度,不好理解,可以看一下下面简单的for循环题目,找一下感觉
- 符号输出C
通常在书中,这个题目是一个for循环的敲门砖
#include<stdio.h>
int main()
{
printf("***\n");
printf("*\n");
printf("*\n");
printf("***\n");
return;
}
- 输出九乘九口诀
对双重for循环的理解
#include<stdio.h>
int main()
{
int i, j;
for(i = 1; i < 10; i++){
for(j = 1 ;j < 10; j++){
printf("%d * %d = %-4d", i, j, i*j);
}
printf("\n");
}
return 0;
}
- 用循环语句打印一个左三角形
开始灵活运用for循环
#include<stdio.h>
int main()
{
int i,n;
for(i = 1; i <= 7; i += 2){
for(n = 1; n <= i; n++){
printf("* ");
}
printf("\n");
}
for(i = 5; i >= 1; i -= 2){
for(n = 1; n <= i; n++){
printf("* ");
}
printf("\n");
}
return 0;
}