8.20哔哩哔哩题目遇到的问题:
输入一串字符串(中间可能存在空格),怎么把它保存到一个string中。
string line;
getlin(cin,line);
输入未知数目的数字,怎么给存入数组中?
123,23,123,169,123,...
首先要用字符串getline来存储,把一行数据给存到字符串中,然后从字符串分解得到每个数字。因为这里的分隔符是‘,’,所以还要处理一下。
string line;
getline(cin,line);
vector<int> data;
int i = 0;
line += ',';
for (int j = 0; j < line.size(); j++) {
if (line[j] == ',') {
string t = string(line.begin() + i, line.begin() + j);
int q = stoi(t);
data.push_back(q);
i = j + 1;
}
8.21做华为题目遇到的问题:
输入一行,第一个数字表示发送报文的个数n,这个数字也占一个报文,后续输入n-1个报文。
int n;
cin>>n;
for(int i = 0;i<n-1;i++){
scanf("%x",data+i);
}
第一行输入一个数字,表明接下来输入数据的个数n,第二行输入n个数。