要求打印的行数由键盘输入?
#include<stdio.h>
#include"string.h"
int a[10000]; //容器,由n*(n+1)/2<=10000可知,n<=141
int b=3,CR,i; //b为当前行数,CR为要求显示的行数,i为循环数
int YHSJ(int CR)
{
a[1]=a[2]=1; //前两行数值少且全为1,故直接输出
printf("%d\n",a[1]);
printf("%d %d\n",a[1],a[2]);
while(b<=CR) //从第三行开始判断
{
for(i=b;i>=2;i--)//从倒数第一个数开始加
{
a[i]=a[i]+a[i-1]; //杨辉三角的规律,没有值的数组默认为0
}
for(i=1;i<=b;i++) //显示循环
{
printf("%d ",a[i]);
}
printf("\n"); //显示完一行换行
b++; //下一行
}
return 0;
}
void main()
{
printf("请输入要显示的行数(3~141):");
scanf("%d",&CR);
YHSJ(CR);
}
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有