1樓:匿名使用者
#define n 4 定義巨集n,值為4
int bb [n] [n]; bb為儲存地圖的4*4二維陣列
int i, j; i和j為兩個計數的變數
for (i = 0; i < n; i++) 這句是行迴圈,每行都會迴圈一次,直到設定了n行
for (j = 0; j < n; i++) 這句是列迴圈,每列都會迴圈一次,直到設定了n列
i==0是最上面一行,i==n-1是最下面一行,j==0是最左邊一列,j==n-1是最右邊一列
if (i == 0 || i == n - 1 || j == 0 || j == n - 1) 如果滿足這些條件,則
bb [i] [j] = 1; 二維陣列bb的第i行第j列賦值為1
else
bb [i] [j] = 0; 否則賦值為0
for (i = 0; i < n; i++) 這句是行迴圈,每行都會迴圈一次,直到輸出了n行
for (j = 0; j < n; i++) 這句是列迴圈,每列都會迴圈一次,直到輸出了n列
printf ("%4d", bb [i] [j]); 右對齊4格輸出二維陣列bb的第i行第j列
printf ("\n"); 每行輸出完畢後都會輸出\n(換行符)
2樓:匿名使用者
建立bb二維陣列
如果i或j在邊線(邊長-1或者0)上,值為1.否則為0
輸出二維陣列
[c語言] 請詳細解釋如圖程式執行的過程(為什麼是這個結果),十分感謝!
3樓:戊欣笑
國二上機的c程式設計,是按程式的執行結果給分的,不執行,就沒結果,當然就沒有分了
c語言問題求教,請說明過程解釋,謝謝
4樓:匿名使用者
開始時初始化了一個字元陣列;
c[0] = '1'; c[1] = 『2';c[2] ='a';c[3] = 'b'; c[4] = 『5';c[5] ='6';c[6] ='\0';
接下來就是迴圈了
當i= 0時,c[0] == '1' > '0' && < =' 9'
執行下面的語句:s = 10*s + c[i] - '0'
即 s = 10 * 0 + '1' - '0' ;
s = 1;
printf(「%d\n」,s);輸出1
這是i += 2,於是i到了2;
接著判斷c[2] ='a' 不滿足ch[i]>='0' && ch[i]<= '9';跳出迴圈,迴圈結束;
所以程式的執行結果是1
5樓:匿名使用者
你這個寫的有問題,你想要幹嘛,提取數字嗎?
求c語言中這個程式執行的結果!!如果哪位是自己分析的,請給出分析過程,感激不盡!
6樓:匿名使用者
結果:t=189,s=175
語句:for(k=1;k<=j;k++)
相當於s=s+j;t=t+2*j;
故迴圈for(j=1;j<=i;j++)
s+=j;
}相當於:
for(j=1;j<=i;j++)
再簡化為:s=s+i*(i+1)+2*i;t=t+3*i*(i+1)/2;
原語句簡化為:
for(i=1;i<=6;i++)
這下能看懂了吧?
7樓:匿名使用者
結果: t=189,s=175
縮排一下就好看多了,這個程式實在是沒有任何意義,沒必要深究的#include
int main ()
s += j;
}t = t + i;
return 0;}
8樓:
t = 189;
s = 175;
要從外層迴圈層層往裡執行.
迴圈一: i = 1, j = 1, k = 1;
迴圈二: i = 2, j = 1, k = 1;
迴圈三: i = 2, j = 2, k = 1;
迴圈四: i = 2, j = 2, k = 2;
迴圈五: i = 3, j = 1, k = 1;
迴圈六: i = 3, j = 2, k = 1;
... i = 3, j = 2, k = 2;
... i = 3, j = 3, k = 1;
i = 3, j = 3, k = 2;
i = 3, j = 3, k = 3;
依次執行
9樓:匿名使用者
程式稍微改下順序:
#include
main()}}
printf("t=%d,s=%d\n",t,s);
}易於看出變化。以s的變化為例
第一個迴圈是的s=1+2+3+4+5+6=21第二層迴圈的第一個表示式s=s+2
的結果是21*2=42
s=s+j最後是1+1+2+1+2+3……+5+6=56最能層的s=s+1結果是56
則最終s=56+63+56=175
t可以仿照這種演算法來看
10樓:匿名使用者
3層for迴圈 for(i=1;i<=6;i++)是第一層
2for(j=1;j<=i;j++)
3 for(k=1;k<=j;k++)
11樓:匿名使用者
3層迴圈 ,深究無用
12樓:匿名使用者
t=189,s=175
c語言,以下程式執行的結果是什麼,麻煩詳細解釋一下
13樓:
這個首先,結構體t中存放兩種型別的資料:整型和整型指標,p是t型別的指標專。p=x,就是p指向x陣列屬。
陣列中,每個元素都是結構體t型別,換句話說,現在陣列中的8個數,兩兩一組,前一個是x的之,後一個是y的值。問題:1、++p->x ,p->x取陣列第一個元素的x的值,就是25,++就是26了。
問題2、(++p)->x,(++p),p指向第二個元素,在取x就是30了。問題:3、++(*p->y),p->y取出第二個元素y的值(問題2,p已指向第二個元素),*p->y取出y地址存的值就是10,++就成11了!
挺簡單吧,這其實考的是結構體和指標的知識!
如圖,這個c語言的執行過程解釋一下,謝謝!
14樓:瑚一刀
讓你輸入2個數,然後呼叫比較方法,返回大的一個數。然後在main方法裡面輸出。
?:是三目運算子,true取前,false取後。
[c語言]以下程式輸出的結果是: (請高手們詳細詳細再詳細把過程寫出來(><))
15樓:谷歌地
這種題是中國教育腦殘題,基本可以略過
如果你想懂,繼續往下讀
首先,你要知道前置減減和後置減減的區別
前置減減--a作為表示式的一部分,先減減,然後把值賦給自己後置減減a--作為表示式的一部分,先進行運算,然後減減賦值給自己比如a = 100, b = 100;
c = --a;和d = b--;結果不一樣,前面的結果a = 99, c = 99
後面的結果d = 100, b = 99
第二,雖然有區別,但是程式執行順序是從上到下,那麼進入printf的時候,
while已經執行完了,那麼第一次進入while的時候,n等於幾?等於3!!!
然後給你講下執行原理
第一次進入while迴圈,進入條件判斷前,n = 4進入條件判斷後,先用 n = 4作為條件去判斷是否跳出迴圈,發現不等於0,哦,迴圈可以繼續,我記住了。好的,然後n自減一進入迴圈體,--n前置的,那麼n就先自減等於2,然後列印輸出 2第二次進入while迴圈,進入條件判斷前,n = 2進入條件判斷後,先用 n = 2作為條件去判斷是否跳出迴圈,發現不等於0,哦,迴圈可以繼續,我記住了。好的,然後n自減一進入迴圈體,--n前置的,那麼n就先自減等於2,然後列印輸出 0第三次進入while迴圈,進入條件判斷前,n = 0進入條件判斷後,先用 n = 0作為條件去判斷是否跳出迴圈,發現等於0,哦,迴圈不可以繼續,我記住了。
好的,然後n自減一最後n = -1
給你留個小練習,下面的**執行結果是什麼
#include
#include
int main(void)
下面程式的執行結果是多少,求詳細解釋
一步步來呀 從b 到f 你試一下 k 經歷過 1 0 1 2 0 1 10 11 3 4最後是4哦 將每一步執行的值輸出 則 為 include int main k printf d n k while c g printf k d n k return 0 結果也為如圖 下面程式的執行結果為 c...
c語言題求詳細解釋此程式是如何執行的謝謝
x是個靜態變數,它不會隨f函式執行的結束而銷燬,f中的a是個區域性變數,它會隨f函式執行的結束而銷燬,當第一次執行f a 時,x 3,x x 1,x變為4 a 7,a a 1,a變為8,主函式裡的a還是7 當第二次執行f a 時,x 4,x x 1,x變為5 a 7,a a 1,a變為8,主函式裡的...
程式的執行就是指令執行的迴圈過程。對不對
程式的執行,對於cpu來說就是 取指 譯碼 執行,如此迴圈。所以,從這個角度說,這句話是對的。對。程式就是一個指令一個指令迴圈執行的 判斷題 1.在計算機中,用來解釋,執行程式中指令的部件是控制器。2,windowsxp中,第一題是對的,在電腦中,用來解釋 執行程式中指令的部件為控制器。控制器是 處...