写一个c语言判断一个整数是否为平方数
时间: 2023-04-07 16:04:08 浏览: 98
可以回答这个问题。以下是一个简单的C语言代码,用于判断一个整数是否为平方数:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
int i;
for (i = 1; i * i <= num; i++) {
if (i * i == num) {
printf("%d 是一个平方数\n", num);
return 0;
}
}
printf("%d 不是一个平方数\n", num);
return 0;
}
```
该程序通过循环遍历所有小于等于该整数的数,判断是否存在一个数的平方等于该整数。如果存在,则该整数为平方数,否则不是。
相关问题
用c语言编程判断一个整数是否为自守数
好的,以下是用C语言编写的判断一个整数是否为自守数的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int n;
printf("请输入一个整数:\n");
scanf("%d", &n);
// 计算该数的平方
long long square = (long long)n * n;
// 将该数和它的平方转换成字符串
char str1[20], str2[20];
sprintf(str1, "%d", n);
sprintf(str2, "%lld", square);
// 比较末尾数是否相等
int len1 = strlen(str1), len2 = strlen(str2);
if (len1 > len2) {
printf("不是自守数\n");
return 0;
}
for (int i = 1; i <= len1; i++) {
if (str1[len1 - i] != str2[len2 - i]) {
printf("不是自守数\n");
return 0;
}
}
printf("是自守数\n");
return 0;
}
```
该程序首先让用户输入一个整数,然后计算该数的平方,并将该数和它的平方转换成字符串。接着,该程序比较两个字符串的末尾数是否相等,如果相等则输出“是自守数”,否则输出“不是自守数”。注意,为了避免整数溢出,该程序使用了long long类型来保存平方。
c语言判断一个数是否为完全平方数
可以使用数学库中的sqrt()函数来计算这个数的平方根,然后判断平方根是否为整数即可。具体代码如下:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
double sqrt_num = sqrt(num);
if (sqrt_num == (int)sqrt_num) {
printf("%d是完全平方数\n", num);
} else {
printf("%d不是完全平方数\n", num);
}
return 0;
}
```