修改如下:
#include<stdio.h>
#include<string.h>
int same(int So)
{
int a,b,c;
a = So/100;
b = So/10 - a;
c = So%10;
if (a==b || a==c || b==c)
return 1;
return 0;
}
int pingfang(int So)
{
int i;
int flag = 0;
for (i = 1; i < 32; i++)
{
if (i * i == So)
{
flag = 1;
break;
}
}
return flag;
}
int main() {
int So;
for (So = 100; So < 1000; So++)
{
if (same(So) && pingfang(So))
{
printf("%4d", So);
}
}
return 0;
}
第一个if语句后面为啥加分号