簡單錯誤記錄 華為機試 C C

2021-08-27 00:00:20 字數 1533 閱讀 5933

開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的**所在的檔名稱和行號。

處理: 

1、 記錄最多8條錯誤記錄,迴圈記錄,對相同的錯誤記錄(淨檔名稱和行號完全匹配)只記錄一條,錯誤計數增加;

2、 超過16個字元的檔名稱,只記錄檔案的最後有效16個字元;

3、 輸入的檔案可能帶路徑,記錄檔名稱不能帶路徑。

一行或多行字串。每行包括帶路徑檔名稱,行號,以空格隔開。

將所有的記錄統計並將結果輸出,格式:檔名 **行數 數目,乙個空格隔開,如:

示例1

e:\v1r2\product\fpgadrive.c   1325
fpgadrive.c 1325 1
//第十九題 錯誤記錄

#include#include#include#includeusing namespace std;

typedef struct item

};int main()

item temp;

vector::iterator it;

if ((it=find(v_record.begin(), v_record.end(), temp)) != v_record.end())

else

v_record.push_back(temp);

} else

}int i_max = v_record.size();

int i_min = i_max - 8;

i_min = i_min > 0 ? i_min : 0;

for (int i = i_min; i < i_max; i++)

system("pause");

return 0;

}

3ms

#include #include #include #include using namespace std;

typedef struct item

};// 獲取淨檔名的最後16個字元

string get_filename(string filename)

int main(void)

; if ((it = std::find(log.begin(), log.end(), tmp)) != log.end())

(*it).cnt++;

else

log.push_back(tmp);

} int start_index = log.size() - 8;

if (start_index < 0) start_index = 0;

for (int i = start_index; i < log.size(); ++i)

cout << log[i].filename << " " << log[i].line << " " << log[i].cnt << endl;

system("pause");

return 0;

}

華為機試 簡單錯誤記錄

題目描述 開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多 8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16 個字元的檔名稱,只記錄檔案的最後有效 16個字元 如果檔名不同...

華為機試題 簡單錯誤記錄

開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1 記錄最多8條錯誤記錄,迴圈記錄,對相同的錯誤記錄 淨檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 2 超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 3 輸入的檔案可能帶路徑,記錄檔名稱不能帶路徑。輸入描述 一行...

華為機試題 簡單錯誤記錄

開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...