#include<stdio.h>
int main()
{
int n,i=1,cot=2,a,b,c,d=1,sum=0,e;
e=d;
printf("请输入一个大于等于3且小于等于7的数:");
scanf("%d",&n);
while(cot<=n){
i=i*10;
cot++;
}
while(a<i*10){
c=a=i;
b=c/i;
while(e<n){
sum=b*b+sum;
d++;
} c=c%i;
i=i/10;
a++;}
if(sum==a){
printf("%d",sum);
}
return 0;
}
while(a<i*10)
a并没有赋予初始值啊。定义a时将a初始化为0