字母金字塔有很多種形式,不過輸出的原理都是差不多的。不用二維陣列即可實現。如果用二維陣列,就是把字母先寫到二維陣列中,再一次性輸出。以下以一個比較複雜的字母金字塔為例說明:#include<stdio.h>int main(){ char a[26][26]; int n; int i,j; char t; scanf("%d",&n); if(n>26||n<=0) return-1; for(i = 0;i<n;i++) { for(j = 0; j<n-i-1; j++) a[i][j] = " "; t="A"+i; for(; j<n; j++) a[i][j]=t--; t="B"; for(;j<n+i;j++) a[i][j]=t++; a[i][j] = 0; } for(i = 0;i<n;i++) puts(a[i]); return 0;}輸入10的時候,效果是
字母金字塔有很多種形式,不過輸出的原理都是差不多的。不用二維陣列即可實現。如果用二維陣列,就是把字母先寫到二維陣列中,再一次性輸出。以下以一個比較複雜的字母金字塔為例說明:#include<stdio.h>int main(){ char a[26][26]; int n; int i,j; char t; scanf("%d",&n); if(n>26||n<=0) return-1; for(i = 0;i<n;i++) { for(j = 0; j<n-i-1; j++) a[i][j] = " "; t="A"+i; for(; j<n; j++) a[i][j]=t--; t="B"; for(;j<n+i;j++) a[i][j]=t++; a[i][j] = 0; } for(i = 0;i<n;i++) puts(a[i]); return 0;}輸入10的時候,效果是