西郵oj1068
阿新 • • 發佈:2018-12-18
題目:
首先奉上答案:
#include<stdio.h> int main(){ char shuzi[11][4][4]={ {{' ','_',' '},{'|',' ','|'},{'|','_','|'}}, {{' ',' ',' '},{' ',' ','|'},{' ',' ','|'}}, {{' ','_',' '},{' ','_','|'},{'|','_',' '}}, {{' ','_',' '},{' ','_','|'},{' ','_','|'}}, {{' ',' ',' '},{'|','_','|'},{' ',' ','|'}}, {{' ','_',' '},{'|','_',' '},{' ','_','|'}}, {{' ','_',' '},{'|','_',' '},{'|','_','|'}}, {{' ','_',' '},{' ',' ','|'},{' ',' ','|'}}, {{' ','_',' '},{'|','_','|'},{'|','_','|'}}, {{' ','_',' '},{'|','_','|'},{' ','_','|'}}, }; int n[5]; while(scanf("%d%d%d%d",&n[0],&n[1],&n[2],&n[3])!=EOF){ for(int j=0;j<3;j++){ for(int k=0;k<4;k++){ printf("%s",shuzi[n[k]][j]); } printf("\n"); } } return 0; }
此答案思路:
其實剛開始看到要列印3x3的字元時,立即想到的是定義0~9十個二維字元組即矩陣。 這裡提醒新手同學一點:有人看到3x3直接定義"變數名 [3][3]"的變數,這是錯誤的。因為字串末尾還有’\0’結束符,所以3x3個位元組是不夠的。言歸正傳繼續思路敘述。當我定義了十個二維字元組時,發現0~9十個變數取用等很不方便,於是,我定義了一個三維字元組shuzi[11][4][4],直接對他初始化。 這裡shuzi[p][m][l]裡的p為幾時就是數字幾對應的3x3二維字元組,之後我又定義了陣列n[5]來儲存使用者輸入的四個數字然後輸出shuzi[n[i]]這裡沒有移動游標所以首先列印的是字元組[n[0]],[n[1]],[n[2]],[n[3]]的第一行然後再列印第二第三行。
編寫不易,求轉發推薦,謝謝!!! |
---|