7-11 练习题 (9 分) 输入若干行,每行输入两个绝对值不大于100的整数,求这两个整数的和、差、 乘积中不超过100的最大数。第三个测试点怎么不能通过

7-11 练习题 (9 分) 输入若干行,每行输入两个绝对值不大于100的整数,求这两个整数的和、差、 乘积中不超过100的最大数。第三个测试点怎么不能通过

img


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

bool cmp(int a,int b){
    return a>b;
}
int main(){
    int a,b;
    while(cin>>a>>b){
        int arr[3];
        arr[0]=a+b;
        arr[1]=abs(a-b);
        arr[2]=a*b;
        sort(arr,arr+3,cmp);
        for(int i=0;i<3;i++){
            if(arr[i]<=100){
                cout<<arr[i]<<endl;
                break;
            }
        }
    }
} 

C语言版本:

#include<stdio.h>
#include<math.h>

int cmp(int a,int b){

if (a > b)
{
    return 1;
}
return 0;

}

int main(){

    int a,b;

    while(scanf("%d, %d",&a,&b) != EOF){

        int arr[3], tmp;

        arr[0]=a+b;

        arr[1]=abs(a-b);

        arr[2]=a*b;

        for (int i = 0; i < 2; i++)
        {
            for (int j = i; j < 2; j++)
            {
                if (cmp(arr[i], arr[j]))
                {
                    tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }   
        }

        for(int i=0;i<3;i++){

            if(arr[i]<=100){
                printf("%d\n", arr[i]);
                break;

            }

        }

    }

}