我应该将小时,分钟和秒转换为秒,但问题是程序可以将输入作为输入3种格式。第一种是格式54(这意味着只有54秒),有时格式为45:56(表示45分56秒),有时采用格式(12:35:12),这意味着12小时35分12秒。例如,如果我想输入这些数字并将它们转换为秒数,我就不知道何时应该使用cin作为字符':' 我试过这个,但我无法输入空格字符:
char a;
int nr,arr[1000],cnt=0,sum=0;
while (a==':')
{
cin>>nr>>a;
cnt++;
arr[cnt]=nr;
}
if (cnt==1) sum=arr[1];
if (cnt==2) sum=60*arr[1]+arr[2];
if (cnt==3) sum=3600*arr[1]+60*arr[2]+arr[3];
答案 0 :(得分:0)
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main() {
char time[9];
int sum;
cin>>time;
char *t1=strtok(time,":");
char *t2=strtok(NULL,":");
if (t2==NULL)
sum=atoi(t1);
else {
char *t3=strtok(NULL,":");
if (t3==NULL)
sum=atoi(t1)*60+atoi(t2);
else
sum=atoi(t1)*3600+atoi(t2)*60+atoi(t3);
}
cout<<sum<<endl;
return 0;
}