实验5-6 使用函数判断完全平方数 (10 分)

本题要求实现一个判断整数是否为完全平方数的简单函数。 函数接口定义:

int IsSquare( int n );

其中n是用户传入的参数,在长整型范围内。如果n是完全平方数,则函数IsSquare必须返回1,否则返回0。 裁判测试程序样例:

#include <stdio.h>
#include <math.h>

int IsSquare( int n );

int main()
{
          
   
    int n;

    scanf("%d", &n);
    if ( IsSquare(n) ) printf("YES
");
    else printf("NO
");

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例1:

10

输出样例1:

NO

输入样例2:

100

输出样例2:

YES

思路:用sqrt函数(返回值类型为double)求出开方数,判断是否为整数 强制类型转换将开方数转换成整数和原来的开方数进行对比,相等则返回1 反之,返回0

int IsSquare(int n)
{
          
   
	double num = sqrt(n);
    if(num == (int)num)
        return 1;
	
	return 0;
}
经验分享 程序员 微信小程序 职场和发展