題目描述
#include #include#include#include#includeusing namespace std;
typedef mapstrintmap;
static strintmap strength;
//mapstrength;
//14:30-16:30
class warcraft
bool born(int time)
//bug2 不能在這裡用i++,因為這裡+過後就會影響後面的i
else if (strength[nameseq_[ith]] > lifenum_)
else
}cout << setw(3) << setfill('0') << time << " " << name_ << " headquarter stops ****** warriors" << endl;
hascout = true;
return false;
}};int main()
; int n, m;
cin >> n;
for (int ii = 0; ii < n; ii++)
warcraft wred("red", redname, m);
warcraft wblue("blue", bluename, m);
int time = 0;
//bug 7 這個是在上面while退出時,這一時刻輸出了headquarter stops ****** warriors,但是time++沒有執行,所以需要在while之外加上這句
//bug 8 如果兩者是同時退出的話,上面的&&只要第乙個wred不滿足後,就不會再執行後面的wblue了,所以此時不能time++
//一定要確定誰先執行完,如果使用下面這種同時判斷wred和wblue,則不能確定是誰先執行完了
//while (wred.born(time) && wblue.born(time))
//while (wred.born(time))
while (wblue.born(time))
/下面這種情況會遇到的問題是:
//當輸入為
//5000
//200 400 6 70 20 時,
//wred和wblue同時到達了最終要輸出stops ****** warriors。但是程式在判斷了wred.born(time)為false後就不會執行後面的了。
//此時後面的語句不應該time++。 這樣就和bug 7那裡衝突了,不知道什麼時候該time++,因為不知道兩個誰先結束,所以最後的解決辦法是上面的while (wred.born(time))
//while (wred.born(time) && wblue.born(time))
//bug 7 這個是在上面while退出時,這一時刻輸出了headquarter stops ****** warriors,但是time++沒有執行,所以需要在while之外加上這句
//time++;
//while (wblue.born(time))
////while (wred.born(time))
////return 0;
} //n = 1, m = 20;
//for (int i = 0; i < 5; i++)
// return 0;
}
乙個小小的程式,寫了兩個小時,5個bug。真的是要多寫才會少bug,即使程式再簡單,以目前自己的水平,仍然是寫不好。一開始也不用想著刷leetcode了,先把mooc上的課後習題做做吧!
bug:
1、if else 那裡邏輯一開始有問題
2、在if條件判斷裡使用了i++,這是致命的錯誤,不應該再犯
3、迴圈賦值語句a[i]寫成了a[0],逗呢,這麼多低階錯誤,反應的還是**寫的少
4、這裡為啥不行????ith=(ith++)%5 這樣的話,i輸出的值是 1 2 3 4 5 ,為什麼不是0 1 2 3 4 呢?沒搞懂
//這裡為什麼輸出的是 1 2 3 4 5 ????
int i = 0;
while (1)
5、忘寫了生命值減少的語句
待解決的問題:
程式中本來map想放在類內,但是類外無法初始化,導致編譯不通過,還未解決。
20190317補充:這個題還真的不簡單。。。
北大MOOC第五周003 魔獸世界之二 裝備
乙個乙個結果對比了,發現結果都對啊,但是沒有通過。其實很簡單,就是在原來魔獸世界一的基礎上多加了乙個 的功能,然而自己還是搞了乙個小時,兩周前寫的程式都忘完了,發現自己當時寫的程式注釋不夠詳細,所以才會導致程式中的變數好多都忘了。吸取教訓,要注釋的詳細一點,你的遺忘速度真的很快!原題位址 inclu...
集訓第三週
又要感嘆時間過得真快了,8月13號,距離第一場網路賽還有26天。暑假三周集訓結束,個人賽也結束了,這一周還是做了一些個人賽,然後組好了隊伍。去年一隊有2個人算是 實力超群 比其餘人都高乙個檔次。而今年大家的水平都差不多,沒有像去年他們那麼突出,實力自然有不小的下降。相比去年的隊伍,今年隊的特點是大家...
第三週作業
實驗作業 1.輸入課本各個例題,除錯執行程式,並分析程式,將每乙個程式改寫2到3個版本,自己分析程式結果,然後再除錯執行,核對分析結果的對錯。2.編寫程式輸入乙個三角形的三條邊,計算其面積和周長 3.編寫程式計算並輸出課本本章習題3表示式的值並分析結果。4.編寫乙個程式,輸入乙個一元二次方程的三個係...