【程序46】打印杨辉三角
#include <stdio.h>
#include <stdlib.h>
//实现思想:
//1.第一列和对角线都为1;
//2.除了对角线和第一列之外,其他元素都是上面的元素和左上角的元素和;
//3.用i代替行,j代替列;
//4.打印出十行
int main()
{
int i,j;
int a[11][11];
for(i = 1;i<11;i++)
{
a[i][i] = 1;
a[i][1] = 1;
}
for(i = 3;i < 11;i++)
{
for(j = 2;j <=i-1;j++)
{
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
for(i = 1;i <11;i++)
{
for(j = 1;j <= i;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
}
运行结果:
【程序47】输出三角形
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,k;
for(i = 1;i <=5;i++)
{
for(k = 5-i;k >=1;k--)
{
printf(" ");
}
for(j = 1;j <= 2*i-1;j++)
{
printf("#");
}
printf("\n");
}
}
运行结果:
【举一反三系列】
【输出菱形】
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,k;
for(i = 1;i <=5;i++)
{
for(k = 5-i;k >=1;k--)
{
printf(" ");
}
for(j = 1;j <= 2*i-1;j++)
{
printf("#");
}
printf("\n");
}
for(i = 1;i <=4;i++)
{
for(k = 1;k <=i;k++)
{
printf(" ");
}
for(j =7;j >= 2*i-1;j--)
{
printf("#");
}
printf("\n");
}
}
运行结果:
输出:
123456
612345
561234
456123
…
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,k;
printf("请输入n的值:\n");
scanf("%d",&k);
for(i = k-1;i >=0;i--)
{
for(j = 0;j < k;j++)
{
printf("%d",(i+j)%k + 1);
}
printf("\n");
}
}
运行结果:
这个和数据结构的循环链表有点像,可以放在一起思考。