c語言由鍵盤輸入正整數,C語言!!!!!!!!!!!由鍵盤輸入一個正整數,判斷該數是否為平方數,是輸出Y,否則輸出N

2021-03-10 14:31:17 字數 7485 閱讀 9601

1樓:匿名使用者

思路: 將該數開平方得到一個數 , 看是不是整數, 如果是說明是平方數, 否則內不是 **如下:

#include

#include

int main()

else

}return 0;

}希望可以幫到你,如有疑問歡迎追問

2樓:匿名使用者

樓主來你好。

很簡單:

自#include

#include

int main()

printf("%c\n",(pow((int)sqrt(input),2)==input)?'y':'n');

}return 0;

}//解釋下du,sqrt(input)會得到input的平方根,強制轉換為zhiint之後只要dao是非平方數就會丟失小數,導致再求平方之後不再與input相等了。

這樣就能符合你的要求了。

輸出:-100

please input a positive integer!

144y

225y

123n

321n

3樓:彭傑群

#include

#include

int main()

尋求c語言程式設計**:實現「輸入一個正整數,判斷該數是否為平方數,是就輸出y ,否則輸出n」。

4樓:天使的喵

#include

#include

#include

int main()

由鍵盤輸入一個正整數,判斷該數是否為平方數,是輸出y,否則輸出n。c語言怎麼程式設計

5樓:手機使用者

#include

main()

{int a=0;

scanf("%d",&a);

for(int i=0;i懂可以問我

6樓:影逸風飛

這裡只寫處理過程,輸入自己處理。

for(i=0;i<=a;i++)

}printf("n");

return 0;

7樓:sky浪裡百跳

演算法第一步:輸入一個正整數a

第二步:計算根號a

第三步:驗證取整函式根號a是否等於根號a本身,是則輸出y,否則輸出n說明:取整函式我們高中就講個,在大學學得更細,不知你們有沒有學過

8樓:匿名使用者

#include

#include

void main()

9樓:彭傑群

#include

#include

int main()

10樓:匿名使用者

樓主你好。

很簡單:

#include

#include

int main()

printf("%c\n",(pow((int)sqrt(input),2)==input)?'y':'n');

}return 0;

}//解釋下,sqrt(input)會得到input的平方根,強制轉換為int之後只要是非平方數就會丟失小數,導致再求平方之後不再與input相等了。

這樣就能符合你的要求了。

輸出:-100

please input a positive integer!

144y

225y

123n

321n

11樓:匿名使用者

思路: 將該數開平方得到一個數 , 看是不是整數, 如果是說明是平方數, 否則不是 **如下:

#include

#include

int main()

else

}return 0;

}希望可以幫到你,如有疑問歡迎追問

c語言程式設計 輸入正整數,判斷該數是否為平方數,是輸出y,否則輸出n

12樓:

思路: 將該數開平方得到一個數 , 看是不是整數, 如果是說明是平方數, 否則不是 **如下:

#include

#include

int main()

else

}return 0;}

c語言程式:編寫函式,判斷一個正整數是否為完全平方數,並輸出100以內的完全平方數。

13樓:凌亂心扉

*/package questions;

public class q10

}system.out.print("所求的數是:"+n);

}private static boolean is***psqrt(int p)//判斷完全平方數的方法

return flag;}}

return用法:

作用是結束正在執行的函式,並返回函式值。return後面可以跟一個常量,變數,或是表示式。

函式的定義一般是這樣的,例如:

int a(int i)//第一個int是函式的返回值的型別,也就是return後面跟的值的型別,a是函式的名稱,括號裡的是傳遞給函式的引數,int是引數的型別,i是引數的名字

簡單函式舉例:

int addone(int b)

該函式的作用是取得一個數,將這個數加上1,再將結果返回

呼叫時這樣:

int result=addone(2);//此時result的值為3

函式括號裡的引數也可以為變數或能算出值的表示式

以上就是一個基本的函式,一般的函式都有返回值,也就是return後面跟的值,返回值可以為各種資料型別,如:int,float,double,char,a(陣列),*a(指標),結構或類(c++)

但不是所有函式都有返回值,如果某個函式無返回值,那麼返回值的位置則為「void」關鍵字,此時函式體中無返回值,即無return的值。但是函式中也可出現return,即一個空的return句子,其作用是使函式立即結束,如

void print()//括號中為空表示無傳遞引數

//該函式只執行到return語句處,即螢幕上輸出的為"ab"

14樓:匿名使用者

#include

#include

int isfullsquare(unsigned long n);

int main(void)

}return 0;

}int isfullsquare(unsigned long n)

15樓:空空

#include

int ispf(int n)

int main()

c語言中如何判斷一個數是完全平方數

16樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建初始.cpp檔案,例如:test.cpp。

2、其次,在test.cpp檔案中,輸入c語言**:

int a = 64;double c = sqrt(a);

if (c == int(c))

printf("是完全平方數");

else

printf("不是完全平方數");

3、編譯器執行test.cpp檔案,此時成功快速識別出了是不是完全平方數。

17樓:匿名使用者

#include

#include

int main()}

18樓:凌亂心扉

#include

#include

int issquare(int n)

}return a;

}int main()

else

printf("no");

return 0;}

19樓:匿名使用者

對於一個比較大的整數,比如:23916,一共有5位數字,假設它是完全平方數,那麼它的平方根應該是一個3位數,因為100的平方是最小的5位數。

同時,這個平方根應該小於200,因為200的平方是40000比原數大。取箇中間數150,因為已知15的平方是225,所以很容易算出150的平方是22500,比原數小。

同理,算出160的平方是25600,比原數大。所以,如果24346時一個完全平方數,它的平方根應該大於150且小於160。完全平方數,凡是個位為6的,其平方根個位必為4或6。

計算154的完全平方,等於 23716 比 23916 小200,計算156的完全平方,等於 24336 比 23916 大420,所以23916不是完全平方數。

擴充套件資料

應用:有多少個正整數n,使n!+2019是完全平方數,注:n!=1*2*…*n,即n的階乘。

講解思路:這道題屬於完全平方數問題,要判斷一個數是完全平方數,除了嚴格驗證外,目前還沒有完善的方法。但要判斷一個數不是完全平方數,有很多種性質可以用,

這裡採用除以4的餘數來判別。由於n!具有十分特別的性質,因此總的解題思路是:先判斷當n>=4時的情況,然後對n<4時的3個數逐一驗證。

步驟1:

先思考第一個問題,

當n大於等於4時,

n!+2019除以4的餘數是多少。

此時n!=1*2*3*4…*n,

故n!是4的整數倍,

而2019除以4的餘數是3,

因此n!+2019除以4的餘數是3。

步驟2:

再思考第二個問題,

當n大於等於4時,

n!+2019可能是完全平方數嗎。

此時n!+2019是奇數,

如果它是完全平方數,

則存在某自然數k,

使n!+2019=(2k+1)^2

=4k^2+4k+1,

顯然該數除以4的餘數為1,

這與步驟1的結論想矛盾,

因此不是完全平方數。

注:k^2表示k的平方。

步驟3:

再思考第三個問題,

考慮原題目的答案。

從步驟2直到n小於4,

下面對n=1,2,3分別討論:

當n=1時,

n!+2019=2020不是完全平方數;

當n=2時,

n!+2019=2021不是完全平方數;

當n=3時,

n!+2019=2025=45^2,

是完全平方數。

所以原題的答案只有n=3。

20樓:珂珂珂樂

你把double b,c,x,y;定義成int型別就正確了。如果你定義成double行那麼if(c==a)這個條件是永遠成立的。

21樓:匿名使用者

完全平方即用一個整數乘以自己例如1*1,2*2,3*3等等,依此類推。若一個數能表示成某個數的平方的形式,則稱這個數為完全平方數。完全平方數是非負數。

而一個完全平方數的項有兩個。注意不要與完全平方式所混淆。

例如:0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529…

觀察這些完全平方數,可以獲得對它們的個位數、十位數、數字和等的規律性的認識。下面我們來研究完全平方數的一些常用性質:

性質1:末位數只能是0,1,4,5,6,9。

(此為完全平方數的必要不充分條件,且定義為"一個數如果是另一個整數的完全平方,那麼我們就稱這個數為完全平方數",0為整數,故0是完全平方數)

性質2:奇數的平方的個位數字一定是奇數,偶數的平方的個位數一定是偶數。

證明 奇數必為下列五種形式之一:

10a+1,10a+3,10a+5,10a+7,10a+9

分別平方後,得

綜上各種情形可知:奇數的平方,個位數字為奇數1,5,9;十位數字為偶數。

性質3:如果十位數字是奇數,則它的個位數字一定是6;反之也成立

證明 已知

,證明k為奇數。因為k的個位數為6,所以m的個位數為4或6,於是可設m=10n+4或10n+6。則或即

或∴ k為奇數。

推論1:如果一個數的十位數字是奇數,而個位數字不是6,那麼這個數一定不是完全平方數。

推論2:如果一個完全平方數的個位數字不是6,則它的十位數字是偶數。

性質4:偶數的平方是4的倍數;奇數的平方是4的倍數加1。

這是因為

性質5:奇數的平方是8n+1型;偶數的平方為8n或8n+4型。

(奇數:n比那個所乘的數-1;偶數:奇數:n比那個所乘的數-2)

在性質4的證明中,由k(k+1)一定為偶數可得到 是8n+1型的數;由為奇數或偶數可得(2k)為8n型或8n+4型的數。

性質6:形式必為下列兩種之一:3k,3k+1。

因為自然數被3除按餘數的不同可以分為三類:3m,3m+1,3m+2。平方後,分別得

同理可以得到:

性質7:不是5的因數或倍數的數的平方為5k+-1型,是5的因數或倍數的數為5k型。

性質8:形式具有下列形式之一:16m,16m+1,16m+4,16m+9。

除了上面關於個位數,十位數和餘數的性質之外,還可研究完全平方數各位數字之和。例如,256它的各位數字相加為2+5+6=13,13叫做256的各位數字和。如果再把13的各位數字相加:

1+3=4,4也可以叫做256的各位數字的和。下面我們提到的一個數的各位數字之和是指把它的各位數字相加,如果得到的數字之和不是一位數,就把所得的數字再相加,直到成為一位數為止。我們可以得到下面的命題:

一個數的數字和等於這個數被9除的餘數。

下面以四位數為例來說明這個命題。

設四位數為,則

1000a+100b+10c+d

= 999a+99b+9c+(a+b+c+d)

=9(111a+11b+c)+(a+b+c+d)

顯然,a+b+c+d是四位數被9除的餘數。

對於n位數,也可以仿此法予以證明。

關於完全平方數的數字和有下面的性質:

性質9:數字之和只能是0,1,4,7,9。

證明 因為一個整數被9除只能是9k,9k±1,9k±2,9k±3,9k±4這幾種形式,而

除了以上幾條性質以外,還有下列重要性質:

性質10:為完全平方數的充分必要條件是b為完全平方數。

證明 充分性:設b為平方數,則=(ac)

必要性:若為完全平方數,=,則

性質11:如果質數p能整除a,但p的平方不能整除a,則a不是完全平方數。

證明 由題設可知,a有質因數p,但無因數,可知a分解成標準式時,p的次方為1,而完全平方數分解成標準式時,各質因數的次方均為偶數,可見a不是完全平方數。

性質12:在兩個相鄰的整數的平方數之間的所有整數都不是完全平方數。

即若則k一定不是整數。

性質13:一個正整數n是完全平方數的充分必要條件是n有奇數個因數(包括1和n本身)。

c語言程式設計有整數abc由鍵盤輸入輸出其中

include void main 輸入以空格分開內。容 include stdio.h include math.h void main void max else end if include stdio.h void main include void main 簡單的寫了下.專.屬 incl...

C語言作業求助 計算a,b是鍵盤輸入的正整數。且在輸入時能保證1ab

可能你想問的是輸出a到b之間的質數吧。下面是我編的 有什麼不足的地方你再改正一下吧。include int fun int x 宣告函式 判斷是否是質數 void main for i a 1 i if j printf a,b之間沒有質數。n 如果j 0,說明沒有數輸出 else printf n...

C語言由鍵盤輸入正數n(n30),要求輸出具有n行的如下圖案

include void main 換行 printf n 花了我很長時間的呢,執行結果非常ok,記得給分哦!其實這種題關鍵在於分析什麼情況下輸入空格 1 include 2 main 3 11 for line 1 line targetnum line 1220 if line targetnu...