C语言 判断满足条件的三位数:编写一个函数,利用参数传入一个3位数n, 找出 101~n 间所有满足下列两个条件的数:它是完全平方数,又有两位数字相同,如 144、676 等,函 数返回找出这样的数据的个数。试编写相应程序。 【输入形式】 一个三位正整数 【输出形式】 一个整数 【样例输入】 222 【样例输出】 2 【样例说明】 从101~222之间满足条件(完全平方数、有两位数字相同)的数的个数
时间: 2024-03-01 20:52:41 浏览: 27
好的,这是一个关于 C 语言的编程问题。我可以为您提供一个示例代码,您可以根据您的需要进行修改和调整。
```c
#include <stdio.h>
#include <math.h>
int findNumbers(int n) {
int count = 0;
for (int i = 101; i <= n; i++) {
int a = i / 100;
int b = i % 100 / 10;
int c = i % 10;
if (b == c && ((int)sqrt(i)) * ((int)sqrt(i)) == i) {
count++;
}
}
return count;
}
int main() {
int n;
printf("请输入一个三位正整数:");
scanf("%d", &n);
int count = findNumbers(n);
printf("从101~%d之间满足条件的数的个数为:%d\n", n, count);
return 0;
}
```
这个程序中,我们定义了一个 `findNumbers` 函数,用于找出从 101 到给定的三位数 `n` 之间所有满足条件的数。在函数中,我们通过循环取出每个数的百位、十位和个位,并判断是否满足条件:该数的十位和个位相同,且该数是完全平方数。如果满足条件,则将计数器加一。
在 `main` 函数中,我们接收一个输入的三位正整数 `n`,调用 `findNumbers` 函数并输出结果。
希望这个代码能够对您有所帮助!