写一个如何判断一个数的平方根是整数的C语言程序。
时间: 2024-12-14 09:13:35 浏览: 5
在C语言中,你可以使用循环和条件判断来确定一个数的平方根是否为整数。这里有一个简单的示例,它利用了`sqrt`函数(需要包含数学库`<math.h>`)和一个临时变量来存储结果:
```c
#include <stdio.h>
#include <math.h>
int is_square_root_integer(double num) {
double sqrt_num = sqrt(num);
int int_sqrt = (int)sqrt_num; // 将浮点数平方根转换为整数
if (sqrt_num == int_sqrt && sqrt_num * sqrt_num == num) {
return int_sqrt;
} else {
return -1; // 如果不是整数,则返回-1表示非整数平方根
}
}
int main() {
double input;
printf("请输入一个数字:");
scanf("%lf", &input);
int result = is_square_root_integer(input);
if (result != -1) {
printf("输入的数 %lf 的平方根是整数 %d\n", input, result);
} else {
printf("输入的数 %lf 的平方根不是一个整数。\n", input);
}
return 0;
}
```
这个程序首先计算输入数字的平方根,然后将结果转换成整数。如果两者相等,并且转换后的整数的平方等于原数,那么它是整数平方根;否则,返回-1。
阅读全文