2 回答

TA貢獻(xiàn)119條經(jīng)驗(yàn) 獲得超250個(gè)贊
#include?"stdio.h" int?main(){ int?a[][5]={{1,3,5,7},{9,7,5,3,1}}; ? int?index=5; ? for(int?j=0;j<4;j++)//打印菱形上半部 ? {?? ? for(int?i=0;i<index;i++) ?? printf("?"); ? index--; ? for(int?k=0;k<a[0][j];k++) ? {??? ?? printf("*"); ? } ? printf("\n"); ? } ?index=1; ? for(int?j=0;j<5;j++)//打印菱形下半部 ? {?? ? for(int?i=0;i<index;i++) ?? printf("?"); ? index++; ? for(int?k=0;k<a[1][j];k++) ? {??? ???? printf("*");? ? } printf("\n"); ?} }
還有不懂的,我會(huì)抽時(shí)間給你回復(fù)^_^

TA貢獻(xiàn)119條經(jīng)驗(yàn) 獲得超250個(gè)贊
#include?"stdio.h" int?main(){ int?n; printf("請(qǐng)輸入◇的邊數(shù):\n"); scanf("%d",&n); //實(shí)心上半部分 for(int?i=0;i<n;i++){??????????????????????//數(shù)據(jù)?i?它代表的是行數(shù) for(int?j=1;j<n-i;j++){????????????//數(shù)據(jù)?j?它控制輸出每行前的空格 printf("?");???????? ????} for(int?k=0;k<2*i+1;k++){???????????//數(shù)據(jù)?k?它控制輸出每行*號(hào)的個(gè)數(shù) printf("*");???????? ????} printf("\n"); } //實(shí)心下半部分 for(int?i=0;i<n;i++){ for(int?j=0;j<i+1;j++){ printf("?"); } for(int?k=0;k<(n-i-1)*2-1;k++){ printf("*"); } printf("\n"); } return?0; }
上半部分執(zhí)行過程:
當(dāng)i=0,j等于1時(shí),此時(shí)判斷第二個(gè)for循環(huán)里的條件,即1<4成立(因?yàn)檩斎氲倪厰?shù)是5),輸出空格,j再加1(也就是j++)此時(shí)j=2,再判斷條件,直到j(luò)=4,第二個(gè)for循環(huán)停止(因?yàn)閖受i的控制,i<5),這時(shí)已經(jīng)輸出4個(gè)空格
開始執(zhí)行第三個(gè)for循環(huán),k=2*i+1(為什么是2*i+1?這個(gè)公式是可以觀察出來的,就像找規(guī)律),k=0,判斷條件,1<2*i+1,滿足條件,輸出*,接著k++,該輪循環(huán)結(jié)束,換行輸出。
同理,i=1、2、3、4、5也一樣。
P.S.
建議使用編程工具調(diào)試下程序,理解會(huì)更深刻些。
希望能幫助到你o(* ̄▽ ̄*)ブ

TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個(gè)贊
- 2 回答
- 0 關(guān)注
- 4950 瀏覽
添加回答
舉報(bào)