程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 結果錯誤-關於出棧順序,結果輸出錯誤

結果錯誤-關於出棧順序,結果輸出錯誤

編輯:編程綜合問答
關於出棧順序,結果輸出錯誤

給定入棧順序為1,2...10
對每個測試輸入,輸出只有一行:
“Yes”,如果打出順序滿足“棧”的特點;
“No”,如果打出順序不滿足“棧”的特點。
輸出一個整數,即所有不同序列的總數目。

例如:
3
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
3 1 2 4 5 6 7 8 9 10

Yes
Yes
No

輸出結果全部都是NO- - 沒有找到哪裡有問題,麻煩看出來的大神了~謝謝~

代碼:

include
using namespace std;

int main() {
int T;
int n[12];
cin >> T;
while (T--) {
int r = 0,max = 0;
for (int i = 0; i < 10; i++) {
cin >> n[i];
}
for (int i = 0; i < 8; i++) {
if(max < n[i]){
max = n[i];
}
if (r = 1) break;
if (n[i+1] < max){
if (n[i+2] > n[i+1] && n[i+2] < max) {
r = 1;
}
}

  }
if (r = 0) cout << "Yes\n";
else cout << "No\n";

}
system("pause");
return 0;
}

最佳回答:


int T;
int n[12];
cin >> T;
while (T--)
{
int r = 0,max = 0;
for (int i = 0; i < 10; i++)
{
cin >> n[i];
}
for (int i = 0; i < 8; i++)
{
if(max < n[i])
{
max = n[i];
}
if (r == 1) break;//這裡錯了。你寫成了r=1
if (n[i+1] < max)
{
if (n[i+2] > n[i+1] && n[i+2] < max)
{
r = 1;
}
}
}
if (r == 0) //這裡錯了。你寫成了r=0
cout << "Yes\n";
else
cout << "No\n";
}
system("pause");
return 0;
我也是初學者,我覺得至少那兩個地方是錯了。最後,我自己的觀點,寫程序的時候海事適當加上點注釋比較好,才不會很難懂。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved