我被这个程序卡住了,有人能帮忙把12小时格式转换成24小时格式吗?
#include <bits/stdc++.h>
using namespace std;
string timeConversion(string s) {
// Complete this function
string d,c;
d=s.substr(8,2);
if(d=="PM"){
int a;
a=stoi(s.substr(0,2));
a=a+12;
c=to_string(a);
}
s[0]=c[0];
s[1]=c[1];
s=s.substr(0,8);
return s;
}
int main() {
string s;
cin >> s;
string result = timeConversion(s);
cout << result << endl;
return 0;
}
Sample Input: 7:05:45PM
Sample Output: 19:05:45
现在我已经编辑了我的代码,它正在运行,但你能告诉我更好的方法来做这个代码吗?
4条答案
按热度按时间ff29svar1#
这对我很有效,并通过了HackerRank网站上的所有9个测试用例。
kuuvgm7e2#
有更好的方法来做到这一点,但我将使用你的代码。
**注意:**我删除了
#include <bits/stdc++.h>
库esbemjvw3#
我想这是初学者最友好的c++方式。
注:
istringstream
和ostringstream
类似于cin
和cout
,但操作字符串而不是输入/输出。<< setfill('0') << setw(2)
-〉如果小时、分钟或秒中的任何一个只有一个数字,则此部分将打印07
而不是7我认为你可以为这些案件做出改进。
qyyhg6bp4#
public void run(String s){
}