a^2+b^2=c^2 用C语言求1到1000形如c这样的数,下面是是代码,请问错误在哪? 5

 我来答
Chandler4
2014-12-11 · TA获得超过405个赞
知道小有建树答主
回答量:1058
采纳率:0%
帮助的人:759万
展开全部
int chu(int t)
{
    int i,j;
    for(int i=1;i<t;i++)  //不能只遍历到一半  5,12,13|7 24 25
    {
        for(int j=1; j*j<=t*t-i*i;j++)
        {
            if(t*t == (j*j+i*i))
            {
                a=i;
                b=j;
                return 2;
            }
        }
    }
}
追问

改完后为什么第一行出现1^2=0^2+0^2?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凝烟寒血
2014-12-11 · TA获得超过193个赞
知道小有建树答主
回答量:413
采纳率:100%
帮助的人:437万
展开全部
int chu(int n,int* a,int* b)
{
int powern = n * n;
for (int i = 1; i < n; ++i)
{
int ret = 0;
for (int j = i+1; ret < powern; ++j)
{
ret = i * i + j * j;
if (ret == powern)
{
*a=i;
*b=j;
return 2;
}
}
}
return -1;
}
int main()
{
int a,b;
for(int i=1;i<=100;++i)
{
if(chu(i,&a,&b)==2)
printf("%d^2=%d^2+%d^2\n",i,a,b);
}
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式