// 判断满足条件的三位数
#include <stdio.h>
#define N 50
int Find(int n, int *p);
int main(void)
{
int Number[N]; // 存放所有满足条件的三位数
int n; // 3位数n
int count;
int i;
printf("请输入一个3位数:");
scanf("%d", &n);
count = Find(n, Number);
printf("在101~%d间共有%d个符合条件的数\n", n, count);
for (i=0; i<count; i++)
{
printf("%d\t", Number[i]);
}
printf("\n");
return 0;
}
int Find(int n, int *p)
{
int i = 101;
int flag = 0; // 标志位
int count = 0; // 计数
int k;
for (k=0; k<N; k++)
{
p[k] = 0;
}
while (i<=n)
{
flag = 0;
int j;
for (j=11; j<32; j++)
{
if (i == j*j)
{
int digit0 = i%10; // 个位
int digit1 = (i/10)%10; // 十位
int digit2 = i/100; // 百位
if ((digit0==digit1)||(digit0==digit2)||(digit1==digit2))
{
flag = 1;
break;
}
}
}
if (flag)
{
*p = i;
p++;
count++;
i = i+20;
}
else
{
i++;
}
}
return count;
}
10-1 判断满足条件的三位数
猜你喜欢
转载自blog.csdn.net/kirisame9/article/details/84668062
今日推荐
周排行