C程序设计竞赛训练题 中的一道题,写到最后运行出错啊。。。
三组三位完全平方数。将数字1~9分为3组,使每组构成一个3位的平方数,编程求这样的三组三位完全平方数。如:361是19的平方数。#include<stdio.h>
#include<math.h>
#define N 9
void main()
{
int i,j,k,m=0;
int s[3]={0};
float a[N]={1,2,3,4,5,6,7,8,9},t=0.0,n;
for( i = 0 ; i < 10 ; i ++)
for( j = 0 ; j < 10 ; j ++)
for( k = 0 ;k < 10 ; k ++)
{
if(( i == j )||( i == k )||( j == k ))
continue ;
t = a[i] * 100 + a[j] * 10 + a[k];
n=sqrt(t);
if( n == (int)(n) )
{
s[m] = t ;
m ++ ;
}
}
for( m = 0 ; m < 3 ; m ++)
printf("%d ",s[m]);
}
这个是我的源程序,总感觉 if(( i == j )||( i == k )||( j == k )) 这个有问题。。求教。。