关于#c++#的问题,请各位专家解答!

img

源.cpp+×
C++1 (全局范围 funGinta,intb)
                日#include<iostream>//基本输入输出函数
         2 #include<cmath>//数学函数
                  using namespace std: 3 //template<typename>//函数模板
         4 intfun(inta,intb)
        5
         6 intx,y:
                        x=a%100 7 //后两位
        8 y=a/100: //前两位
        9 E if(b<O)
        10
       11 y+=((x+b)-60)/60;
                              x=x+b%60
        B
       14 else
       56
                             y+=(x+b)/60
       17 x=(x+b)%60
        18
        9 returny*100+x;
       20
       21 intmainO
       22
       23 inta,b
       24 cin>>a>>b;
       25 printf(”%03d”,fun(a,b)):
        26
                        return0:
        27

img

img

#include <stdio.h>
 
int main(){
    
    int f = 0;
    int e = 0;
    
    scanf("%d %d",&f,&e);
    
    int a = f/100;
    int b = f%100;
    
    int g = ((a*60 + b)+e);
    
    int n = g/60;
    int m = g%60;
    
    printf("%d",n);
    printf("%02d",m);
 
    return 0;
}

b小于0时逻辑有错误,修改如下:
如有帮助,请帮忙采纳一下,谢谢。

img

#include <iostream>
#include <math.h>
using namespace std;

int fun(int a,int b)
{
    int x,y;
    x = a%100;
    y = a/100;
    if (b < 0)
    {
        if(x+b < 0)
            y += (x+b)/60 -1;
        
        while(y<0) y += 24;
        x = ((x+b)%60 + 60)%60;
    }else
    {
        y += (x+b)/60;
        x = (x+b)%60;
    }
    return y*100+x;
}

int main()
{
    int a,b;
    cin >> a>>b;
    printf("%03d",fun(a,b));
    return 0;
}