01/10/2018, 00:38

Giúp ý tưởng bài toán?

Nhập vào giờ phút giây.Cộng thêm số giây bất kì và in ra màn hình dưới dạng hh:mm:ss.
Nếu số giây cộng thêm lớn hơn 3600 hoặc 7200 hay nhiều hơn nữa thì làm sao ạ, chẳng lẽ cứ viết hoài??

int gio,phut,giay;
	int them;
	printf("Nhap gio phut giay: ");
	scanf("%d%d%d",&gio,&phut,&giay);
	printf("Nhap giay them: ");
	scanf("%d",&them);
	
	if(giay + them<60)
	    giay = giay + them;
    else if(giay+them>=60)
    {
    	giay = (giay + them) - 60;
    	phut = phut + 1;
    }
    
    if(phut>=60)
    {
    	phut = phut - 60;
    	gio = gio + 1;
    }
    printf("%02d:%02d:%02d",gio,phut,giay);   	  
	return 0;
viết 02:48 ngày 01/10/2018

Đây là cách để chuyển một số kiểu int sang giờ phút giây (n là một số kiểu int, h là giờ, m là phút, s là giây). Bạn có thể áp dụng cách này vào bài
Ví dụ mình nhập n = 5000, kết quả trên màn hình: 01:23:20

h = n / 3600;
m = (n % 3600) / 60;
s = (n % 3600) % 60;

Chúc bạn học tốt

Người bí ẩn viết 02:44 ngày 01/10/2018

Nhập vào giờ phút giây

Cho chương trình nhập vào bình thường với điều kiện ss & mm < 60, còn hh thì forever =)) hoặc <= 24

Cộng thêm số giây bất kì và in ra màn hình dưới dạng hh:mm:ss.

Cái này giản đơn mà, dùng if là xong

Bài liên quan
0