Mọi người ơi em đang luyện viết code trên web thì gặp một đề như sau:
Viết chương trình nhập vào một số nguyên không âm n (0≤n<86400). Đó là giây hiện tại của một ngày. Hãy chuyển đổi giây đó sang dạng giờ, phút, giây.
Thì em có viết đoạn code như này:
#include<iostream>
using namespace std;
int main ()
{
int n;
int m;
int s;
int h;
cin>>n;
h = n / 3600;
if(n%3600==0)
{
if(h<10)
cout<<0<<h<<":00:00";
else
if(h>=10)
cout<<h<<":00:00";
}
else
if(n%3600!=0)
{
m = (n - (3600*h))/60;
if(h<10)
{ s = n - (3600*h);
if(s<60)
{
if(s>=10)
cout<<0<<h<<":"<<"00"<<":"<<s;
else
cout<<0<<h<<":"<<"00"<<":"<<0<<s;
}
else
if(s>=60)
{
s = s - (m*60);
if(s<10)
{
if(m<10)
cout<<0<<h<<":"<<0<<m<<":"<<0<<s;
else
if(m>=10)
cout<<0<<h<<":"<<m<<":"<<0<<s;
}
else
if(s>=10)
{
if(m<10)
cout<<0<<h<<":"<<0<<m<<":"<<s;
else
cout<<0<<h<<":"<<m<<":"<<s;
}
}
}
else
{
if(h>=10)
{
s = n - (3600*h);
if(s<60)
{
if(s>=10)
cout<<h<<":"<<"00"<<":"<<s;
else
cout<<h<<":"<<"00"<<":"<<0<<s;
}
else
if(s>=60)
{
s = s - (m*60);
if(s<10)
cout<<h<<":"<<0<<m<<":"<<0<<s;
else
if(s>=10)
{
if(m<10)
cout<<h<<":"<<0<<m<<":"<<s;
else
cout<<h<<":"<<m<<":"<<s;
}
}
}
}
}
return 0;
}
Nhưng mà khi nộp lên thì đúng hết mọi testcase nhưng lại chỉ sai một trường hợp duy nhất xin ác cao nhân có thể gợi ý giúp em hay chỉ ra lỗ hỏng trong code của em được không ạ? Em cảm ơn mọi người nhiều trước ^^