利用二维数组编程实现功能:输入一个整数n(n不超过10),输出n行的杨辉三角形
生活随笔
收集整理的這篇文章主要介紹了
利用二维数组编程实现功能:输入一个整数n(n不超过10),输出n行的杨辉三角形
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
楊輝三角形的用處與構成
遇到的問題
解決問題?
首行為一
for(i=1;i<n;i++){for(j=1;j<=i;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}下一行等于上兩行相加
#include<stdio.h> int main() {int i,j,n,a[10][10]={0};printf("請輸入一個整數:");scanf("%d",&n);for(i=0;i<n;i++){a[i][0]=1;}for(i=1;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=n;j>=i+1;j--){printf(" ");}//這里的j可以重復用內存更小 for(j=0;j<=i;j++){printf("%-6d ",a[i][j]);}printf("\n");}return 0;}特別特別注意的一點就是這里優化循環,只用一個j在兩個內循環中可以減小內存,然后我們考慮的是是否可以邊賦值邊輸出
#include<stdio.h> int main() {int i,j,n,a[10][10]={0};printf("請輸入一個整數:");scanf("%d",&n);for(i=0;i<n;i++){a[i][0]=1;for(j=0;j<=i;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];printf("%d ",a[i][j]);}printf("\n");}return 0;}?檢查j部分,我們必須要使j-1和i-1存在,所以沒有辦法寫在一個程序里面,那樣將會使程序變得更復雜
q4:這里我也沒想明白嘿嘿,是抄的大佬的,最后輸出結果如下
?
總結
以上是生活随笔為你收集整理的利用二维数组编程实现功能:输入一个整数n(n不超过10),输出n行的杨辉三角形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速学习-登录功能实现-LoginSer
- 下一篇: 一个中年SAP自由职业者的2020年终总