SY_XLR 2021-09-12 13:04 采纳率: 100%
浏览 98
已结题

C语言,勾股数,现在给你两个正整数,请问是否存在另外一个正整数,使其成为“勾股数”

题目描述
勾股数是指满足a^2+b^2=c^2的正整数,比如最有名的“勾三股四弦五”。
现在给你两个正整数,请问是否存在另外一个正整数,使其成为“勾股数”?

输入
第一行是一个整数K,表示样例的个数。 以后每行一个样例,为两个整数x,y,(1≤x,y≤10000)。

输出
每行输出一个样例的结果。如果不能构成勾股数,输出“None”,如果存在多个,输出最小的那个。

#include <stdio.h>
#include <math.h>
int main()
{
   int a,b,i,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    scanf("%d%d",&a,&b);
        int c = 1;
        while(c<a+b&&c>a-b||c<a+b&&c>b-a)
        {
            if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
            {
            printf("%d\n",c);
            break;
            }
            else
            {
            c++;
            }
        }
        if(c>sqrt(a*a+b*b))
        {
        printf("None");
        }
    }
   return 0;
}

我这显示Presentation Error,那么哪里错了呢?

展开全部

  • 写回答

1条回答 默认 最新

  • [PE]经典八炮 2021-09-12 13:07
    关注

    printf("None")忘了换行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    SY_XLR 2021-09-12 13:20

    对,忘了换行,谢谢了

    1
    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 9月19日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部