本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
void getsite(int b, int array[], int *num) { int a = b; int i = 0; do { array[i] = a % 10; a = (a - a % 10) / 10; i++; } while (a != 0); *num = i;//注意此处,num是指针! } int test(int array[], int num) { for (int i = 0; i<num - 1; i++) { for (int j = i + 1; j<num; j++) if (array[i] == array[j]) return 1; } return 0; } int IsTheNumber(const int N) { int i = 10; int array[1000]; int num = 0; int mag = 0; while (i <= N / 2) { if (i*i == N) { getsite(N, array, &num); return(test(array, num)); } i++; } return 0; }