#include<stdio.h>
int main(){
int a,b,c;
for(a=1;a<=9;a++){
for(b=1;b<=9;b++){
for(c=1;c<=9;c++){
int abc=a*100+b*10+c;
int def=2*abc;
int ghi=3*abc;
int d=def/100;
int e=def/10%10;
int f=def%10;
int g=ghi/100;
int h=ghi/10%10;
int i=ghi%10;
if(a+b+c+d+e+f+g+h+i==45&&a*b*c*d*e*f*g*i==362880){
printf("%d %d %d\n",abc,def,ghi);
}
}
}
if(a=3&&b==2&&c==9)break;
}
}用1-9组成三个三位数,每个数字只能用一次,要求abc:def:ghi=1:2:3,按照abc def ghi每行一解的格式输出。以上代码在运行时没有任何输出。
5 回答
已采纳
刚学编程的小学生
TA贡献4条经验 获得超2个赞
if(a+b+c+d+e+f+g+h+i==45&&a*b*c*d*e*f*g*i==362880){
这里少乘了个h,不理解最后的if是干嘛的
还有真不想吐槽你的代码了,至少缩进要弄好啊,源代码粘上
#include <stdio.h> int main() { int a,b,c; for(a=1;a<10;a++){ for(b=1;b<10;b++){ for(c=1;c<10;c++){ int abc=a*100+b*10+c; int def=2*abc; int ghi=3*abc; int d=def/100; int e=def/10%10; int f=def%10; int g=ghi/100; int h=ghi/10%10; int i=ghi%10; if(a+b+c+d+e+f+g+h+i==45&&a*b*c*d*e*f*g*h*i==362880){ printf("%d %d %d\n",abc,def,ghi); goto end; } } } } end: return 0; }
按照自己的节奏前行
TA贡献90条经验 获得超70个赞
if(a+b+c+d+e+f+g+h+i==45&&a*b*c*d*e*f*g*i==362880){ printf("%d %d %d\n",abc,def,ghi); } //这说明你if条件不满足呀= =
- 5 回答
- 0 关注
- 2667 浏览
添加回答
举报
0/150
提交
取消