C语言打印杨辉三角的多种方法
生活随笔
收集整理的這篇文章主要介紹了
C语言打印杨辉三角的多种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
3.在屏幕上打印楊輝三角。
1
1 1
1 2 1
1 3 3 1
解法一:
//一般解法,淺顯易懂
解法二:
?
解法三:
?
解法四:
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() {int i,j,n = 0;//首先定義二維數組計數符號i,j 還有楊輝三角行數的初始化int a[100][100] = {0,1};//二維數組大小可自定,但切記不可使其超過整形數組的大小while(n < 1 || n >100)//在輸入的值不正確時自動初始化問題,重新輸入{printf("請輸入要打印的楊輝三角行數>:");scanf("%d",&n);}for(i = 1; i < n; i++ )//第一層循環i決定第幾行{for(j = 1; j <= i; j++)//第二層循環借用i限制每行字符數目{a[i][j] = a[i-1][j-1]+a[i-1][j];printf("%5d",a[i][j]);}printf("\n");} return 0; } //優化于解法三,僅將賦值輸出同時進行,且注意換行符的位置更替。解法五:
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() {int i,j,n = 0;//首先定義二維數組計數符號i,j 還有楊輝三角行數的初始化int a[100] = {1};int b[100] = {0};while(n < 1 || n >100)//在輸入的值不正確時自動初始化問題,重新輸入{printf("請輸入要打印的楊輝三角行數>:");scanf("%d",&n);}for(i = 0; i < n; i++ ){b[0] = a[0];for(j = 1; j <= i; j++){b[j] = a[j-1]+a[j];} for(j = 0; j <= i; j++){a[j] = b[j];printf("%5d",a[j]);}printf("\n");}return 0; } //解法五不同于前者,使用兩個一維數組能夠較好的節省空間,方法可行,but運行方式有待我仔細酌定。 望見諒,后續更新解法六:
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() {int i,j,n = 0;int l,r;//首先定義二維數組計數符號i,j 還有楊輝三角行數的初始化int a[100] = {0,1};while(n < 1 || n >100)//在輸入的值不正確時自動初始化問題,重新輸入{printf("請輸入要打印的楊輝三角行數>:");scanf("%d",&n);}for(i = 1; i < n; i++ ){l = 0;for(j = 1; j <= i; j++){r = a[j];a[j] = l + r;l = r; printf("%5d",a[j]);}printf("\n");}return 0; } //解法六使用一個一維數組,再加兩個臨時變量進行操作細節更新后續o_o ....
總結
以上是生活随笔為你收集整理的C语言打印杨辉三角的多种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自己整理的机器学习算法应用指南
- 下一篇: xxe盲注