這一題也是不是很難。主要是字串處理的問題。我個人還是比較習慣於c風格的字元陣列的模式。要注意使用strcmp等函式時要加上標頭檔案cstring或者string.h。
另外自定義cmp函式中的兩個小問題:
一是strcmp返回值是整型數值-1、0或1,要在函式中合理定義。
二是分數的比較中,要選擇小於等於進行比較才符合題目要求順序。
最後乙個問題,我寫的這個**在pat上可以滿分通過,vc6.0也可以執行,但是vs2008下會出現異常,有老鐵了解咋回事嘛?
#include#include#include#includeusing namespace std;
struct student;
vectors;
bool cmp1(student s1,student s2)
if(c==1)
sort(s.begin(),s.end(),cmp1);
else if(c==2)
sort(s.begin(),s.end(),cmp2);
else
sort(s.begin(),s.end(),c***);
for(i=0;i關於不能在vs2008下完整執行的問題,用結構體陣列代替vector之後可以解決問題,但是還是不知道為啥。。。
推薦:
記錄PTA甲級以及C 部分語法知識1012
c 中的sort可對給定區間的所有元素進行排序 include sort begin,end,cmp cmp引數可以沒有,如果沒有預設非降序排序。源自 感謝!這一題我覺得主要是結構體組織的問題吧。相對於我一開始想把id設為字串的想法,用int會好一些。另外,不應該將每門課的成績都開乙個陣列,這樣不同...
記錄PTA甲級以及C 部分語法知識1018
源自 柳婼 blog,感謝大神!解答這一題要同時用到dijkstra,先求若干條最短路徑。然後用dfs在所有的最短路徑中找出所求的最佳資料。哎,對於dfs的回溯部分還是不太熟悉,有些疑問。哈哈,我快成給柳神寫 注釋的了 加油鴨!要自己寫 鴨 include include include using...
記錄PTA甲級以及C 部分語法知識1023
include includeusing namespace std int ans 10 char num1 22 char num2 22 int main void if up 0 ans up 最後的進製 for i 1 i 10 i if ans i 0 break 判斷ans是否全部都為...