c语言编程 打印杨辉三角 要求打印的行数由键盘输入 并且不得使用二维数组

蓝魇蓅云 3个月前 已收到1个回答 举报

情绪似岩 1星

共回答了13个问题采纳率:98.9% 评论

#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);

}

1小时前

21
可能相似的问题

猜你喜欢的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com