日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言完全平方整數的判斷_C 語言

作者:CaptainUniverse_ ? 更新時間: 2022-03-19 編程語言

一、原理:

利用 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;
}

總結

原文鏈接:https://blog.csdn.net/CaptainUniverse_/article/details/122179661

欄目分類
最近更新