C语言如何实现完全平方整数的判断
这篇文章主要为大家展示了“C语言如何实现完全平方整数的判断”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“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语言如何实现完全平方整数的判断”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341