#include <stdio.h>
int main(void) {
int c,a,b,cnt=0;scanf("%d",&c);
for(c-1;c>0;c--) for(a=0;a<c;a++) for(b=0;b<a;b++)
if(a*a+b*b==c*c){
printf("勾股数%d的平方=%d与%d的平方和\n",c,a,b);cnt++;
if(cnt==4) return 0;
}
}
追问
追答你运行的是我的代码嘛~
追问不是,我要的是上图的结果
追答#include <stdio.h>
int main(void) {
int c,a,b,cnt1=1,cnt2=0;scanf("%d",&c);
for(c;;c++) for(a=0;a<c;a++) for(b=0;b<a;b++)
if(a*a+b*b==c*c){
printf("No%d:%d\n",cnt1++,c);cnt2++;
if(cnt2==4) return 0;
}
}
我的input是10~你再输一下2试试看
追问第一个for语句括号里的起始值,循环条件缺了
追答恩,第二个就是不用的~因为要求往后输出4个勾股数,但不知道要往后数多少个数,所以没有循环限制的。你还是运行下试试看吧~我不是附了运行截图嘛
追问
我改了一下
谢谢你的帮助