2201_76011327 2023-01-27 17:03 采纳率: 100%
浏览 33
已结题

c++出现未经处理的异常如何解决

程序运行时出现未经处理的异常应该如何处理,出现问题的函数是用来求最大公约数的

img


希望有人能修改

img

  • 写回答

3条回答 默认 最新

  • a5156520 2023-01-27 18:55
    关注

    把求公约数的函数gys()里的for循环的条件修改下,改为:for(int i=b;i>=1;i--),即判断从两个数中小的那个数到1之间哪个是两数的最大公约数即可 ,修改如下:

    参考链接:

    
    #include <iostream>
    
    using namespace std;
    
    int max(int a,int b,int c){
        
        int d = a>b?a:b;
        d = d>c?d:c;
        return d; 
    } 
    
    int min(int a,int b,int c){
        
        int x = a<b?a:b;
        x = x<c?x:c;
        return x; 
    } 
    
    
    int gys(int q,int b){
        
        int i,x=1;
        for(int i=b;i>=1;i--){
            if(q%i==0&&b%i==0){
                x=i;
            //    cout<<"int for:x="<<x<<endl;
                break;
            }
        }    
        
    //    cout<<"int gys:x="<<x<<endl;
        return  x;
    }
    
    int main(void){
        
        int a,b,c,m,n,gyshu;
        
        cin>>a>>b>>c;
        m=max(a,b,c);
        n=min(a,b,c);
        gyshu=gys(m,n);
        cout<<"公约数为:"<<gyshu<<endl;
        cout<<(n/gyshu)<<'/'<<(m/gyshu);
        
        
        return 0;
        
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月9日
  • 已采纳回答 2月1日
  • 创建了问题 1月27日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大