有谁帮我一题c语言的题目,看看我哪里错了或是帮重新编一个也行

2025-03-05 10:39:41
推荐回答(4个)
回答1:

#include
#include
#define r 55
#define MAXN 9999999
int main(){
    int ans=MAXN;
    int x,y,z,t;
    for(x=55;x>0;x--)
    for(y=x-1;y>0;y--){
        t=r*r-x*x-y*y;
        z=(int)sqrt(t);
        if(z*z==t && y>z)
        if(abs(x+y+z)            ans=abs(x+y+z);
            printf("%d %d %d\n",x,y,z);
        }
    }
    printf("the min is %d\n",ans);
    return 0;
}

回答2:

#include
#include
void main()
{
    int x,y,z;
    int min = 99999;
    for( x=-55; x<=55; ++x )
        for(y=-55;y            for(z=-55;z            {
                if(x*x+y*y+z*z == 55*55)
                {
                   if(abs(x+y+z) < min)
                       min =  abs(x+y+z);
                }
            }
     printf("%d\n",min);
}

 试试行不行

回答3:

abs虽然是double 型的 但是你可以强制转换为int 型: (int) abs 我觉得题目的意思是让你输出一个整数

回答4:

算法不好,不过从目前算法的意图来看, 应该将if(s