【发布时间】:2021-03-08 10:53:47
【问题描述】:
程序必须有一天前的一堆提醒的输入,例如:(数字)(提醒)。 当输入 0 时,所有提醒必须按天顺序输出。我只是不确定如何按天数对这些提醒进行排序。
#include <iostream>
using namespace std;
int main() {
string sentence[50];
int i = 0;
while (sentence[i - 1] != "0") {
cout << "Enter a day and reminder: ";
getline(cin, sentence[i]);
++i;
}
i = 0;
while (i <= 50 && sentence[i] != "0" && sentence[i] != "") {
cout << sentence[i] << "\n";
++i;
}
}
【问题讨论】:
-
sentence[i - 1]在i最初为 0 时超出范围。 -
您的第一个循环调用未定义行为,因为您将尝试访问元素 -1,然后查看
std::sort -
您需要从输入阶段单独解析字符串或获取并存储这两个信息。