题目:(1)n除以11(整数相除)所得到的商等于n的各位数字的平方和;(2)n中至少有两位数字相同。程序最终得到结果为131 550 900
我的源程序如下:
main()
{ int n,a,b,c;
for(n=100;n<1000;n++)
{ a=n/100;
b=n/10%10;
c=n/10;
if((n/11==a*a+b*b+c*c)&&((a==b)+(a==c)+(b==c))>=1)
printf("%5d",n);
}
getch();
}
到底哪里出问题了 求解答!!
怎么修改呢?
追答if判断太长,将其分解为多个if语句,用else if实现之
追问改了木有用。。初学者求详解。。
追答int a = n/11; /*n除以11*/
if (n<=999) {
/*获得三位数以下的每一位*/
n1 = n/100;
n2 = (n%100)/10;
n3 = (n%100)%10;
}
m = n1*n1 + n2*n2 + n3*n3; /*三数的平方和*/
if (a == m)
/*输出n*/
好好看一下如何写高质量的C程序,你的程序可读性非常不好