十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如图所示,f这里清零一下就好了,上一个循环f=1之后没有f=0的时候,就一直是1了,if里的判断就算不成立,还会输出i。望采纳。。。。。。
创新互联建站2013年至今,公司以做网站、网站设计、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户1000多家,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。
这是一种编程技巧,主要用来防止勾股定理的两边长度(a和b)相等的情况。如果两边相等,那么斜边长为0,显然不是一个合法的直角三角形,此时程序需要退出,而不是进行无意义的计算。让b=a+1就可以保证两边长度不相等,进而避免上述情况的出现。
#include"stdio.h"
int main(int argc, char* argv[])
{
int a,b,c,count=0;
for(a=1;a=1000;a++)
for(b=1;b=1000;b++)
for(c=a-b;ca+b c1000;c++)
if(c*c==(a*a + b*b)){
count+=1;
printf("%d,%d,%d\n",a,b,c);
}
printf("共计有 %d 组\n",count);
system("pause");
return 0;
}
int IsPyth(int num1,int num2,int num3)//判断三数能否构成勾股数
{
int num1squ,num2squ,num3squ;
if(0!=num1 0!=num2 0!= num3)//三个数都不能为0,才能构成勾股数
{
num1squ=num1*num1;
num2squ=num2*num2;
num3squ=num3*num3;
if(num1squ=num2squ+num3squ || num2squ=num1squ+num3squ || num3squ=num1squ+num2squ )//任意一个数的平方等于其余两个数的平方和,则便能构成勾股数
return 1;//返回1,说明能构成勾股数
else
return 0;//返回0,说明不能构成勾股数
}
else//当其中任意一个数为0,都不能构成勾股数
return 0;//返回0,说明不能构成勾股数
}
然后在主函数中调用就可以了!
附上完整过程
-------------------------------------------------------------------------------------------------
#include stdio.h
void main()
{
int n1,n2,n3;
printf(“请输入三个数:”);
scanf("%d %d %d",n1,n2,n3);
if(IsPyth(n1,n2,n3))//判断函数返回的值,不为0,则能构成勾股数
prinft("%d %d %d这三个数能构成勾股数!",n1,n2,n3);
else
prinft("%d %d %d这三个数不能构成勾股数!",n1,n2,n3);
}
将函数IsPyth()的所有内容放到void main()前面即可!
你试试!
#include "stdafx.h"
int main()
{
int i;
scanf("%d", i);
for(int a = 1; a = i; a++)
{
for(int b = a; b = i; b++)
{
for(int c = b; c = i; c++)
{
if(a*a + b*b == c*c)
{
printf("%d %d %d\n", a, b, c);
}
}
}
}
}