第二个程序:if判断条件写错了,题目是要求a>b>c没错,但是c中不能连续判断。你的if条件应该是b>c && a>b &&c*c*b*b+c*c*a*a==a*a*b*b
按你那样写,左边的a>b>c的结果永远是0。程序首先判断a>b,结果为1,再判断1>c,结果为0。第二个程序的左边永远为0,所以s++不起到效果
已知a>b>c,且a+b+c<100,求满足条件 1/(a^2)+1/(b^2)=1/(c^2)的 共有多少组。
#include<iostream>
using namespace std;
int main()
{
int a,b,c,s=0;
for(a=3;a<100;a++)
{
for(b=2;a+b<100&&b<a;b++)
{
for(c=1;a+b+c<100&&b>c;c++)
{
if(c*c*b*b+c*c*a*a==a*a*b*b)
{
s++;
}
}
}
}
cout<<s<<endl;
return 0;
}
输出结果:2
#include<iostream>
using namespace std;
int main()
{
int a,b,c,s=0;
for(a=3;a<100;a++)
{
for(b=2;a+b<100;b++)
{
for(c=1;a+b+c<100;c++)
{
if(a>b>c&&c*c*b*b+c*c*a*a==a*a*b*b)
{
s++;
}
}
}
}
cout<<s<<endl;
return 0;
}
输出结果:0
不明白为什么都可以的语句输出结果不同。
求求大佬了!!!