#include
int mysum(int abc)
{
int a,b,c;
int add=0;
a=(abc/100);
b=(abc/10%10);
c=(abc%10);
add=(a+b+c);
return add;
}
int mymul(int abc)
{
int a,b,c;
int mul=0;
a=(abc/100);
b=(abc/10%10);
c=(abc%10);
mul=(a*b*c);
return mul;
}
int main()
{
int sum1=(1+2+3+4+5+6+7+8+9);
int mul1=(1*2*3*4*5*6*7*8*9);
int abc,def,ghi;
int sum2,mul2;
for(abc=123;abc<=329;abc++)
{
def=(2*abc);
ghi=(3*abc);
sum1=(mysum(abc)+mysum(def)+mysum(ghi));
mul1=(mymul(abc)+mymul(def)+mymul(ghi));
if(sum2==sum1&&mul2==mul1)
{
printf("%d %d %d",abc,def,ghi);
}
}
}
你加个else啊,如果35行条件不满足,输出一个“无”。可能就是没有符合条件的数啊
第35行,if (sum2 == sum1 && mul2 == mul1) ,sum2 和 mul2 的值是多少? 修改如下,供参考:
#include<stdio.h>
int mysum(int abc)
{
int a, b, c;
int add = 0;
a = (abc / 100);
b = (abc / 10 % 10);
c = (abc % 10);
add = (a + b + c);
return add;
}
int mymul(int abc)
{
int a, b, c;
int mul = 0;
a = (abc / 100);
b = (abc / 10 % 10);
c = (abc % 10);
mul = (a * b * c);
return mul;
}
int main()
{
int sum1 = (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9);
int mul1 = (1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9);
int abc, def, ghi;
int sum2, mul2;
for (abc = 123; abc <= 329; abc++)
{
def = (2 * abc);
ghi = (3 * abc);
sum2 = (mysum(abc) + mysum(def) + mysum(ghi));//修改
mul2 = (mymul(abc) * mymul(def) * mymul(ghi));//修改
//mul2 = (mymul(abc) + mymul(def) + mymul(ghi));
if (sum2 == sum1 && mul2 == mul1)
{
printf("%d %d %d\n", abc, def, ghi);//修改
}
}
}