大家看看什么问题
若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如: 由于7396=86^2,且7+3+9+6=25=5^2,则称7396是“四位双平方数”。求所有“四位双平方数”之和。 81977#include<math.h>
main()
{long i,k,s=0;
int a,b,c,d;
for(i=1000;i<=9999;i++)
{ a=i/1000;
b=i%1000/100;
c=i%100/10;
d=i%10;
k=a+b+c+d;
if ((int)sqrt(i)==sqrt(i)&&(int)sqrt(k)==sqrt(k))
s=s+i; }
printf("okThe num is:%ld\n",s); } 我程序这样编完之后!!!!没有错 !!但是输出的结果不正确!!求大虾指教!!还有就是这行 if ((int)sqrt(i)==sqrt(i)&&(int)sqrt(k)==sqrt(k)) 小弟不是很懂 !!!求重点指教