C语言完全平方整数的判断

 更新时间:2021年12月29日 08:58:40   作者:CaptainUniverse_  
大家好,本篇文章主要讲的是C语言完全平方整数的判断,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

一、原理:

利用 sqrt -- 求平方根 函数实现完全平方整数的判断。

二、函数

         1.原形:

#include <math.h>
...
double sqrt(double x);

        2.参数:x代表要被求平方根的数。

        注意:此文章中x定义为整型。

        3.返回值:如果函数调用成功,返回参数 x 的平方根。

               如果传入x为NaN(Not a Number)或负数,返回值NaN。

三、分析:

sqrt函数返回值为一个浮点型数,我们将完全平方整数传入该函数其返回值应为该数平方根的浮点型,将返回值强制转换成整型其值应等于本身,而我们将非完全平方整数传入该函数其返回值也应为该数平方根的浮点型,但将返回值强制转换成整型其值应不等于本身,利用这一点我们实现完全平方整数的判断

        例如:

#include <stdio.h>
#include <math.h>
int main()
{
	int a=4;
	printf("%g %d",sqrt(a),(int)sqrt(a));
	
	putchar('\n');
	
	int b=3;
	printf("%g %d",sqrt(b),(int)sqrt(b));
 
	return 0;
}

        运行结果:

四、举例:

编写一个函数,利用参数传入一个3位数number,找出101~number之间所有满足下列两个条件的数:它是完全平方数,又有两位数字相同,如144、676等,函数返回找出这样的数据的个数。请同时编写主函数。

#include <stdio.h>
#include <math.h>
int func(int);
int func(int x)
{
	int i;
	int count=0;
	int t1,t2,t3;
	for(i=101;i<=x;i++)
	{
		if(sqrt(i)==(int)sqrt(i))
		{
			t1=i%10;
			t2=i/10%10;
			t3=i/100;
			if(t1==t2||t2==t3||t1==t3)
				count++;	
		}
	}
	return count;
}
int main()
{
	int x;
	scanf("%d",&x);
	printf("%d",func(x));
	return 0;
}

总结

到此这篇关于C语言完全平方整数的判断的文章就介绍到这了,更多相关C语言平方整数判断内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅析C/C++中sort函数的用法

    浅析C/C++中sort函数的用法

    做项目的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。
    2014-09-09
  • C语言计算日期差的方法示例

    C语言计算日期差的方法示例

    这篇文章主要介绍了C语言计算日期差的方法,结合具体实例形式分析了C语言针对日期转换、运算等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • C++实现简单的生产者-消费者队列详解

    C++实现简单的生产者-消费者队列详解

    这篇文章主要为大家详细介绍了如何利用C++实现一个简单的生产者-消费者队列,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-04-04
  • c++关键字mutable深入解析

    c++关键字mutable深入解析

    先说用法,mutable关键字只能修饰非静态以及非常量成员变量,使用mutable修饰的成员变量在const函数中的值是可以修改的
    2013-09-09
  • C++ 实现稀疏矩阵的压缩存储的实例

    C++ 实现稀疏矩阵的压缩存储的实例

    这篇文章主要介绍了C++ 实现稀疏矩阵的压缩存储的实例的相关资料,M*N的矩阵,矩阵中有效值的个数远小于无效值的个数,且这些数据的分布没有规律,需要的朋友可以参考下
    2017-07-07
  • C语言中 & 和 &&的区别详解

    C语言中 & 和 &&的区别详解

    这篇文章主要介绍了C语言中 & 和 &&的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 浅析直接插入排序与折半插入排序

    浅析直接插入排序与折半插入排序

    这篇文章主要介绍了直接插入排序与折半插入排序,有需要的朋友可以参考一下
    2013-12-12
  • C++数据结构之堆详解

    C++数据结构之堆详解

    本文详细讲解了C++数据结构之堆,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 详解C++中的一维数组和二维数组

    详解C++中的一维数组和二维数组

    这篇文章主要介绍了详解C++中的一维数组和二维数组,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • C语言逻辑运算符知识整理

    C语言逻辑运算符知识整理

    本文主要介绍C语言逻辑运算符,这里详细讲解了C语言中的逻辑运算符,并提供了实例代码以便大家学习参考,希望能帮助有需要的小伙伴
    2016-07-07

最新评论