如圖所示,f這里清零一下就好了,上一個(gè)循環(huán)f=1之后沒有f=0的時(shí)候,就一直是1了,if里的判斷就算不成立,還會輸出i。望采納。。。。。。
創(chuàng)新互聯(lián)建站2013年至今,公司以做網(wǎng)站、網(wǎng)站設(shè)計(jì)、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶1000多家,涉及國內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
這是一種編程技巧,主要用來防止勾股定理的兩邊長度(a和b)相等的情況。如果兩邊相等,那么斜邊長為0,顯然不是一個(gè)合法的直角三角形,此時(shí)程序需要退出,而不是進(jìn)行無意義的計(jì)算。讓b=a+1就可以保證兩邊長度不相等,進(jìn)而避免上述情況的出現(xiàn)。
#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("共計(jì)有 %d 組\n",count);
system("pause");
return 0;
}
int IsPyth(int num1,int num2,int num3)//判斷三數(shù)能否構(gòu)成勾股數(shù)
{
int num1squ,num2squ,num3squ;
if(0!=num1 0!=num2 0!= num3)//三個(gè)數(shù)都不能為0,才能構(gòu)成勾股數(shù)
{
num1squ=num1*num1;
num2squ=num2*num2;
num3squ=num3*num3;
if(num1squ=num2squ+num3squ || num2squ=num1squ+num3squ || num3squ=num1squ+num2squ )//任意一個(gè)數(shù)的平方等于其余兩個(gè)數(shù)的平方和,則便能構(gòu)成勾股數(shù)
return 1;//返回1,說明能構(gòu)成勾股數(shù)
else
return 0;//返回0,說明不能構(gòu)成勾股數(shù)
}
else//當(dāng)其中任意一個(gè)數(shù)為0,都不能構(gòu)成勾股數(shù)
return 0;//返回0,說明不能構(gòu)成勾股數(shù)
}
然后在主函數(shù)中調(diào)用就可以了!
附上完整過程
-------------------------------------------------------------------------------------------------
#include stdio.h
void main()
{
int n1,n2,n3;
printf(“請輸入三個(gè)數(shù):”);
scanf("%d %d %d",n1,n2,n3);
if(IsPyth(n1,n2,n3))//判斷函數(shù)返回的值,不為0,則能構(gòu)成勾股數(shù)
prinft("%d %d %d這三個(gè)數(shù)能構(gòu)成勾股數(shù)!",n1,n2,n3);
else
prinft("%d %d %d這三個(gè)數(shù)不能構(gòu)成勾股數(shù)!",n1,n2,n3);
}
將函數(shù)IsPyth()的所有內(nèi)容放到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);
}
}
}
}
}