求满足条件的整数
【问题描述】假设a、b、c均为整数,且满足a,b,c 大于1,并且小于等于100,找出所有符合条件:“a的平方 + b的平方 = c的平方”的整数组。【要求】
1、编写函数void Fun(int a, int b)寻找符合条件的三个数,其中ab分别表示数据起止范围1~100。
2、编写函数void Print(int a, int b ,int c)按照规定的输出格式打印等式,由fun函数调用print函数执行输出功能。
3、主函数不允许出现循环语句,所有功能均在子函数中实现。
【输入形式】无输入
【输出形式】
按a从小到大的顺序输出所有满足条件的整数组(若a相同,则按b从小到大的顺序输出),每行一组,每一组数据的输出样式为:
3*3 + 4*4 = 5*5
注意:
1、3*3 + 4*4 = 5*5 和 4*4 + 3*3 = 5*5虽然是同一组数据,后者不需要输出;
2、加号和等号左右各有一个空格
3、9*9 + 12*12 = 15*15 (在前)
9*9 + 40*40 = 41*41 (在后)
主函数就仅仅一条调用Fun函数的语句;Fun函数中设计三重循环,判断a*a+b*b==c*c时,且a<b时,调用Print函数执行输出,a<b可以在for里判断,也可以在输出前判断。 本帖最后由 jhq999 于 2021-10-28 13:04 编辑
int a=0,b=0,c=0,flag=0;
for ( c = 100; c >2; c--)
{
for ( a = c-1; a>1; a--)
{
for ( b=1; a>b; b++)\\b=1可以改成b=c-a+1 因为在正整数中a+b必须大于c
{
if ((a*a+b*b)==(c*c))
{
printf("%d^2+%d^2=%d^2\n",a,b,c);
break;
}
}
}
}
页:
[1]