#include <stdio.h>#include <math.h>inline int check(int a, int b, int c){ return a==b || b==c || c==a;}int main(){ int sum=0, a=0, b=0, c=0; for(int i=10; i<sqrt(1000); i++){ sum = i*i; a=sum/100; b=(sum - a*100)/10; c = sum%10; if(check(a,b,c)) printf("%d ", sum); } printf("\n"); return 0;}//============================================我不知道你的编译环境是什么,上面程式在VC++6.0上通过编译并运行成功.如果错误出现在inline int check(int a, int b, int c){这一行,请去掉inline这一个关键字试试.因为在纯 C 编译环境是不支持这一关键字的.//==================================================我已经程序上载到附件中.请再试试吧.该程序在VC++6.0上是运行成功的附件:1234.c