當前位置:首頁 » 編程語言 » 判斷水仙花數c語言

判斷水仙花數c語言

發布時間: 2022-11-21 21:33:57

Ⅰ 用c語言寫出判斷一個三位數是否為水仙花數的程序

#include<stdio.h>

void main()

{ int i,j,k,m;

printf("input data:");

scanf("%d",&m); /*輸入一個3位數*/

i=m/100;

j=(m-100*i)/10;

k=m-100*i-10*j;

if(m==i*i*i+j*j*j+k*k*k) printf("%d ",m); /*是水仙花數時輸出*/
}

Ⅱ c語言 編寫一個判斷是否為水仙花數的函數,並通過調用該函數列印輸出所有水仙花數。

#include&lt;stdio.h&gt;

#include&lt;math.h&gt;

int narcissistic(int number);

void PrintN(int m,int n);

int main()

{

int m,n;

scanf("%d%d",&m,&n);

if(narcissistic(m))printf("%d is a narcissistic number ",m);

PrintN(m,n);

if(narcissistic(n))printf("%d is a narcissistic number ",n);

return 0;

}

int narcissistic(int number){

int i,n=0,sum=0,cnt=0;

n=number;

while(n){

cnt++;

n/=10;

}

n=number;

while(n){

i=n%10;

sum+=(int)pow(i,cnt);

n/=10;

}

if(sum==number)

return 1;

else

return 0;

}

void PrintN(int m,int n){

int i;

for(i=m+1;i&lt;n;i++)

if(narcissistic(i))

printf("%d ",i);

}

(2)判斷水仙花數c語言擴展閱讀:

printf函數使用注意事項

1、域寬

%d:按整型數據的實際長度輸出。

如果想輸出指定寬度可以指定域寬,%md--&gt,m域寬,列印出來以後,在控制台上,顯示m位;

如果要列印的數的位數如果超過我們設定m則原樣輸出;

如果要列印的數的位數如果小於設定的位數,則補空白,具體如下:

如果m為正數,則左對齊(左側補空白);

如果m為負數,則右對齊(右側補空白)。

2、轉義字元

如果想輸出字元"%",則應該在「格式控制」字元串中用連續兩個%表示。

如:printf("%f%%",1.0/3);輸出結果:0.333333%。

Ⅲ C語言用自定義函數,定義函數判斷一個整數是否為水仙花數,並利用這個函數輸出所有的水仙花數。


水仙花數即三位的自冪數。所謂自冪數,就是指一個 n 位數 ( n≥3 ),其每位上的數字的 n 次冪之和等於本身。

所以水仙花數,首先是三位數,形式為abc,同時a,b,c的立方和值與原本數相同。

類似的還有

四位自冪數:四葉玫瑰數

五位自冪數:五角星數

六位自冪數:六合數

等等。


對於水仙花數的判斷,需要按照以下步驟:

1 提取該數的個位,十位,百位值。

2 計算三個數的立方和。

3 與原值比較,如相等則是。


要輸出所有水仙花數,需要:

1 對所有三位數,即100到999遍歷;

2 對每個數判斷是否為水仙花數,如是則退出。

當循環結束,所有的水仙花數就輸出成功了。

代碼如下:

intisNarcissistic(intn)
{
inta=n/100;
intb=n/10%10;
intc=n%10;
returna*a*a+b*b*b+c*c*c==n;
}
intmain()
{
inti;
for(i=100;i<1000;i++)
if(isNarcissistic(i))printf("%d",i);
}


輸出結果如下:

153370371407



Ⅳ 用c語言判斷一個數是否為水仙花數

你的C語言程序我幫你改完了,完整的程序如下(改動的地方見注釋)

#include<stdio.h>

int narcissistic(int number){

//這里n=1改成n=0並加proct變數保存連乘積

int a,b=0,n=0,c,number2,number3,proct;

number2=number;

number3=number;

while(number>0){//這里把number>10改成number>0

number=number/10;

n++;

}

while(number2>0){//這里把number2>=1改成number2>0

a=number2%10;

number2=number2/10;

proct=1;//這里初始化proct變數為1

for(c=0;c<n;c++)//這里把c=1;改成c=0;

proct=proct*a;//這里把a=a*a;改成proct=proct*a;

b=b+proct;//這里把b=b+a;改成b=b+proct;

}

if(b==number3)

return 1;

else

return 0;

}

int main(){

int i;

for(i=100;i<1000;i++){

if(narcissistic(i)==1)

printf("%d ",i);

}

return 0;

}

Ⅳ c語言。。用if語句編程,輸入一個三位數,判斷是否為水仙花數。

三位的水仙花數就是每一位的立方之和和這個三位數相等的數,用if語句編程,輸入一個三位數,判斷是否為水仙花數,可以參考以下的代碼:

include<stdio.h>

main()

{ int x,a,b,c;

scanf("%d",x);

a=x/100;

b=(x/10)%10;

c=x%10;

if(x==a*a*a+b*b*b+c*c*c)

printf("YES");

else

printf("NOT");

}

(5)判斷水仙花數c語言擴展閱讀:

if的返回值為真或假,可以用bool型變數進行存儲,佔用一位元組。

C語言中提供了2種形式的if語句:

1、if(表達式)語句1,例如:

if(x>y)

printf("%d",x);

2、if(表達式),語句1

else

語句2,例如:

if(x>y)

printf("%d",x);

else

printf("%d",y);

Ⅵ c語言。。用if語句編程,輸入一個三位數,判斷是否是水仙花數。

1、嚴格的水仙花是三位數,並且其每位數的三次方的和等於它的本身。
例子如下:370是一個嚴格的水仙花數,3^3+7^3+0^3=370.
2、C 語言的"水仙花數"實現代碼:
#include <stdio.h>
#include<math.h>
int main (void) {
long n,p;
long c,a,j,s[30],i,q;
p=0;
a=10;
scanf("%ld",&n);
q=n;
for (i=1;c>10 ;++i) {
c=n/a;
a=a*10;
}printf("i=%ld,a=%ld \n",i,a);
for (j=1;a>=10 ;++j) {
s[j]=n/(a/10);
n=n-s[j]*(a/10);
a=a/10;
printf("j=%ld,a=%ld\n",j,a);
}
for (j=1;j<=i ;j++) {
p+=pow(s[j],i);
printf("p=%ld,i=%ld\n",p,i);
}
if (p==q) {
printf("%ld 為水仙花數",q);
}else {
printf("%ld 該數不是水仙花數",q);
}
return 0;
}

Ⅶ 輸入三位數,判斷是不是水仙花數c語言

完整代碼如下(請自己添加包含必要的頭文件):

int main()
{
int input = 0;

scanf("%d", &input); //輸入

int ge = input % 10; //獲取個位數字
int shi = (input / 10) % 10; //獲取十位數字
int = input / 100; //獲取百位數字

//計算各位的立方和,與原數比較
int newNum = (ge*ge*ge) + (shi*shi*shi) + (**);
if (newNum == input)
{
printf("數字%d是水仙花數。",input);
}
else
{
printf("數字%d不是水仙花數。", input);
}
return 0

}

Ⅷ c語言程序,輸入一個數判斷是否為水仙花數,急求

水仙花數
是指一個
n
位數
(
n≥3
),它的每個位上的數字的
n
次冪
之和等於它本身。(例如:1^3
+
5^3
+
3^3
=
153)
注意我這只限於3位數
#include
<stdio.h>
void
main()
{
int
x,y,z;
int
n,m;
printf("Please
input
number>=100&&<1000\n");
scanf("%d",&n);
x=n/100;//X
是百位的數
y=(n-x*100)/10;//y是十位的數
z=n%10;//z是個位的數
m=x*x*x+y*y*y+z*z*z;
if(n==m)
printf("TRUE");
else
printf("FALSE");
}

Ⅸ 水仙花數的c語言編程。

所謂的「水仙花數」是指一個三位數其各位數字的立方和等於該數本身,例如153是「水仙花數」,因為:153 = 1^3 + 5^3+ 3^3。

下面是完整的C語言編程代碼:

運行結果:
result is:153 370 371 407

(9)判斷水仙花數c語言擴展閱讀

常見水仙花數

水仙花數又稱阿姆斯特朗數。

1、三位的水仙花數共有4個:153,370,371,407;

2、四位的四葉玫瑰數共有3個:1634,8208,9474;

3、五位的五角星數共有3個:54748,92727,93084;

4、六位的六合數只有1個:548834;

5、七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;

6、八位的八仙數共有3個:24678050,24678051,88593477

熱點內容
安卓網路編程怎麼用 發布:2025-01-16 03:04:45 瀏覽:899
湖南it伺服器怎麼樣 發布:2025-01-16 03:01:01 瀏覽:248
圖中兩種配置哪個好 發布:2025-01-16 02:59:28 瀏覽:582
如何解開密保密碼 發布:2025-01-16 02:57:44 瀏覽:23
中國銀行查詢密碼是什麼 發布:2025-01-16 02:33:20 瀏覽:794
堅果pro錄音文件夾 發布:2025-01-16 02:31:46 瀏覽:942
支付寶的登錄密碼忘記了如何改 發布:2025-01-16 02:30:30 瀏覽:224
解壓作業泥 發布:2025-01-16 02:28:02 瀏覽:810
我的世界rpg伺服器空島 發布:2025-01-16 02:26:49 瀏覽:93
ps腳本函數 發布:2025-01-16 02:15:28 瀏覽:484