有一個問題ㄧ直卡住
如下:
scanf(" %d ",&input)
if(y[2]==0)
{
y[2]=y[1];
y[1]=0;
y[2]=y[3];
y[3]=0;
}
如上所示, 我想要問的是假如我現在輸入
u (代表我想要矩陣 2 跟 1 互換, 1變成0)
j (代表我想要矩陣 2 跟 3 互換, 3變成0)
我現在卡住的是
當我輸入 u 時,照理說應該是 2 跟 1 互換, 1變成0
但是印出來的卻是 1 跟 3 同時變成0
同理,
當我輸入 y 時,最後印出來的也是跟輸入 u 時一樣
印出來的都是 1 跟 3 變成0
我是不是遺漏了哪些步驟??
例如: 讓程式判斷, 輸入u ,就跑哪一個指令之類的
2006-12-31 06:29:41 · 1 個解答 · 發問者 阿撇 2 in 電腦與網際網路 ➔ 程式設計
恩
我已經把程式碼寄給你了!!
2007-01-01 06:50:27 · update #1
老實說
你的程式實在看不出任何有關你想要的地方
這是你的全部步驟 還是部分的節錄?
你一直提矩陣
可是 y[2], y[3] 祇是陣列裡的兩個元素
你的I input 是 整數變數 還是 字串變數 ?
為什麼用 &d 讀卻想要輸入 u 或 j
輸入後也沒見它被使用
if(y[2]==0)
{
y[2]=y[1];
y[1]=0;
y[2]=y[3];
y[3]=0;
}
你的 y[2] 也沒看到給初值
所以 if 指令永遠是對的 (電腦自動給初值 0)
不管你的輸入是什麼
結果永遠是: y[2] 等於舊 y[3]; y[3]=y[1]=0
也許你需要列出詳細一點的原始碼
才知道你在做什麼
如果有問題, 請來函討論. 不然, 我可能會錯失你再補充的疑點.
2007-01-01 03:32:35 · answer #1 · answered by JJ 7 · 0⤊ 0⤋