線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:784
推到 Plurk!
推到 Facebook!

輸出結果為何不同???

答題得分者是:s92405054
netdean
一般會員


發表:1
回覆:1
積分:0
註冊:2005-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-11-24 16:53:32 IP:219.69.xxx.xxx 訂閱
以下是我的程式碼及結果,為什麼if else 迴圈內的輸出跟在程式最後輸出的結果會不一樣.
在請高手們幫我看一下,謝謝




#include
using namespace std;
int main(void)
{
int a[10],tempa[5],tempb[5];
int i, q=0, d=0;
cout<<"請分別輸入10個數字,輸入一次請按enter:"<
for(i=0; i<10; i ) {
cin>>a[i];
}
for(i=0;i<10;i ){
if((a[i] % 2) == 0){
tempa[i] = a[i];
cout << "偶數"<< "tempa["<
cout << tempa[i] << endl;
q ;
}
else{
tempb[i] = a[i];
cout << "奇數"<< "tempb["<
cout << tempb[i] << endl;
d ;
}
}
cout << q << "個偶數"<< endl;
cout << d << "個奇數"<< endl;
cout << "偶數 : " << endl;
for (i=0;i<5;i ){
cout << "tempa["<
<< tempa[i] << endl;
}
cout << "奇數 : " << endl;
for (i=0;i<5;i ){
cout << "tempb["<
<< tempb[i] << endl;
}
system("PAUSE");
return 0;
}

----------------------------------------------------------------------------

請分別輸入10個數字,輸入一次請按enter:
1
2
3
4
5
6
7
8
9
10
奇數tempa[0]1
偶數tempb[1]2
奇數tempa[2]3
偶數tempb[3]4
奇數tempa[4]5
偶數tempb[5]6
奇數tempa[6]7
偶數tempb[7]8
奇數tempa[8]9
偶數tempb[9]10
5個偶數
5個奇數
偶數 :
tempa[0] : -858993460
tempa[1] : 9
tempa[2] : -858993460
tempa[3] : 4
tempa[4] : -858993460
奇數 :
tempb[0] : 1
tempb[1] : -858993460
tempb[2] : 3
tempb[3] : -858993460
tempb[4] : 5
編輯記錄
netdean 重新編輯於 2011-11-24 02:27:24, 註解 無‧
s92405054
高階會員


發表:7
回覆:49
積分:101
註冊:2009-04-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-11-25 09:16:12 IP:60.248.xxx.xxx 訂閱
後面Show出來的邏輯本來就錯囉= =(嚴格說起來幾乎都錯).....
因為你輸入1,2,3,4,5,6,7,8,9,10就你的程式敘述
1會放在tempa[0]
2會放在tempb[1]....以此類推
所以你在Show tempb[0]時,是預設值(或是你陣列的初始值基本上你沒設定就會有這樣的現象).......
但是最後那個位啥出現9= =我就不知道了照理來說應該不會這樣會不會是你Key錯

===================引 用 netdean 文 章===================
以下是我的程式碼及結果,為什麼if else 迴圈內的輸出跟在程式最後輸出的結果會不一樣.
在請高手們幫我看一下,謝謝




#include
using namespace std;
int main(void)
{
int a[10],tempa[5],tempb[5];
int i, q=0, d=0;
cout<<"請分別輸入10個數字,輸入一次請按enter:"<
for(i=0; i<10; i ) {
cin>>a[i];
}
for(i=0;i<10;i ){
if((a[i] % 2) == 0){
tempa[i] = a[i];
cout << "偶數"<< "tempa["<
cout << tempa[i] << endl;
q ;
}
else{
tempb[i] = a[i];
cout << "奇數"<< "tempb["<
cout << tempb[i] << endl;
d ;
}
}
cout << q << "個偶數"<< endl;
cout << d << "個奇數"<< endl;
cout << "偶數 : " << endl;
for (i=0;i<5;i ){
cout << "tempa["< << tempa[i] << endl;
}
cout << "奇數 : " << endl;
for (i=0;i<5;i ){
cout << "tempb["< << tempb[i] << endl;
}
system("PAUSE");
return 0;
}

----------------------------------------------------------------------------

請分別輸入10個數字,輸入一次請按enter:
1
2
3
4
5
6
7
8
9
10
奇數tempa[0]1
偶數tempb[1]2
奇數tempa[2]3
偶數tempb[3]4
奇數tempa[4]5
偶數tempb[5]6
奇數tempa[6]7
偶數tempb[7]8
奇數tempa[8]9
偶數tempb[9]10
5個偶數
5個奇數
偶數 :
tempa[0] : -858993460
tempa[1] : 9
tempa[2] : -858993460
tempa[3] : 4
tempa[4] : -858993460
奇數 :
tempb[0] : 1
tempb[1] : -858993460
tempb[2] : 3
tempb[3] : -858993460
tempb[4] : 5
netdean
一般會員


發表:1
回覆:1
積分:0
註冊:2005-06-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-11-25 16:36:26 IP:219.69.xxx.xxx 訂閱
了解,謝謝你的回答,原來是自己的邏輯錯了,有年紀了再回學校讀書真的是很痛苦......謝謝你的幫忙
系統時間:2017-10-20 4:17:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!