當前位置:首頁 » 編程語言 » c語言調用函數水仙花數

c語言調用函數水仙花數

發布時間: 2022-10-04 18:22:51

1. c語言水仙花數

#include <stdio.h>

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", &start, &end) == 2)

{

for (i = start; i <= end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i) //滿足水仙花條件

{

if (size == 0) //size=0輸出第一個水仙花數

{

printf("%d", i);

}

else //size++輸出第二。。第n個水仙花數

{

printf(" %d", i);

}

size++; //個數++;

}

}

if (size == 0) //范圍內個數為0,則說明沒有滿足條件的

{

printf("no");

}

printf(" ");

}

return 0;

}

(1)c語言調用函數水仙花數擴展閱讀:

需要注意的地方:

1.將n整除以100,得出n在百位上的數字hun。

2.將(n-i*100)整除以10(或將n先整除以10再對10求模n/10%10),得出n在十位上的數字ten。

3.將n對10取余,得出n在個位上的數字ind。

4.求得這三個數字的立方和是否與其本身相等,若相等,則該數為水仙花數。

網路-水仙花數

2. 水仙花數的c語言編程

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

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

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

(2)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

3. C語言 定義和調用函數求水仙花數

函數返回值有問題,輸出有問題

第12行改為:

if(is(i))printf("%d
",i);

第23行:

return1;return0

4. c語言 調用函數求水仙花數,我這個那裡錯了,輸出不了

問題在下面這個語句中:
if(sum==number1)
由於number1在循環中已經被更改了,最後的值為原數的百位數,所以不可能再和sum相等。
這里應該為:if(sum==number)

5. c語言怎麼編寫水仙花數

方法:先弄懂什麼是水仙花數::
水仙花數是指一個n(>=3)位數字的數,它等於每個數字的n次冪之和。
3位水仙花數————先定義3個數其中一個為1--9;2個為0--9;(用for循環)
再用如果a定義為1--9那麼用100*a來表示百位;如果b或者c定義是0--9那麼用10*b或者10*c來表示十位;那麼下面用c或者b來表示個位;
if(100*a+10*b+c==a*a*a+b*b+c) 如果滿足這個條件那麼:輸出的printf("%d%d%d",a,b,c)就是3位數的水仙花數:

4位水仙花數方法同上:

剛寫的:調試過了
#include <stdio.h>
int main(void)
{
int a,b,c,d;
system("cls");
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d%d%d%d\n",a,b,c,d);
getch();
}

或者這樣:
#include <stdio.h>
int main(void)
{
int a,b,c,d;
system("cls");
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
for(d=0;d<=9;d++)
if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d%d%d%d\n",a,b,c,d);
}
getch();
}

6. 求C語言用調用函數求三位數的水仙花數,盡量簡單易懂,最好有解釋,我主要是想要理解怎麼使用調用函數

本程序已在Visual Studio 2008調試通過
#include "stdio.h"
int fun(int a[])//子函數中查找100~999之間的水仙花數
{int m,x,y,z,i=0;
for(m=100;m<999;m++)
{x=m%10;//分解出個位數
y=(m-x)/10%10;//分解出十位數
z=m/100;//分解出百位數
if(x*x*x+y*y*y+z*z*z==m)//判斷每位數的立方的和是否與原數相等
{a[i]=m;i++;}}//若相等則存入數組
return(i);//返回數組中水仙花數的個數以方便在主函數中輸出
}
void main()
{int fun(int a[]);//子函數先定義後使用
int a[20],i,k;
k=fun(a);//調用子函數,注意本題中傳遞的是整個數組,所以子函數和主函數共用一個數組,系統分配的是同一片區域,雙向傳遞
for(i=0;i<k;i++)//循環輸出
printf("%d=%d^3+%d^3+%d^3\n",a[i],a[i]/100,a[i]/10%10,a[i]%10);
}//輸出結果為 153=1^3+5^3+3^3 370=3^3+7^3+0^3 371=3^3+7^3+1^3 407=4^3+0^3+7^3

你看一下如果還有什麼問題再問我

7. c語言調用函數求水仙花數

#include <stdio.h>


void shuiXianHua(void);


int main(void)

{

shuiXianHua();

return 0;

}


void shuiXianHua(void)

{

int i = 0, ge = 0, shi = 0, = 0;

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

{

= i / 100;

shi = i % 100 / 10;

ge = i % 10;

if( * * + shi * shi * shi + ge * ge * ge == i)

printf("%d ", i);

}

}

8. C語言調用函數判斷並輸出水仙花數,我自己寫的哪裡有錯

注意你的fun函數,每一次都讓n/=10,最後n已經是0了

你可以先定義一個新的int來存儲n的值,讓它不斷/=10,不改變n的值

還有,你只有在sum==n的時候才有返回值,在不成立的時候也應該有返回值才對

#include<stdio.h>
intmain()
{
intfun(intn);
inti;
for(i=100;i<=999;i++)
if(fun(i)==1)
printf("%d",i);
return0;
}
intfun(intn)
{
intsum=0;
while(n!=0)
{
sum+=(n%10)*(n%10)*(n%10);
n/=10;
}
if(sum==n)
return1;
}

9. 「水仙花數」C語言程序

代碼如下:

#include <stdio.h>

int main()

{

printf("輸出水仙花數: ");

int i=100;

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

int num_0 = i%10;

int num_1 = i/10%10;

int num_2 = i/10/10%10;

if(i==(num_0*num_0*num_0+num_1*num_1*num_1+num_2*num_2*num_2))

printf("%d ", i);

}

return 0;

}

(9)c語言調用函數水仙花數擴展閱讀

自冪數是指一個 n 位數,它的每個位上的數字的 n 次冪之和等於它本身。

n為1時,自冪數稱為獨身數。顯然,0,1,2,3,4,5,6,7,8,9都是自冪數。

n為2時,沒有自冪數。

n為3時,自冪數稱為水仙花數,有4個:153,370,371,407;

n為4時,自冪數稱為四葉玫瑰數,共有3個:1634,8208,9474;

n為5時,自冪數稱為五角星數,共有3個:54748,92727,93084;

n為6時,自冪數稱為六合數, 只有1個:548834;

n為7時,自冪數稱為北斗七星數, 共有4個:1741725,4210818,9800817,9926315;

n為8時,自冪數稱為八仙數, 共有3個:24678050,24678051,88593477;

n為9時,自冪數稱為九九重陽數,共有4個:146511208,472335975,534494836,912985153;

n為10時,自冪數稱為十全十美數,只有1個:4679307774。

10. 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);

}

(10)c語言調用函數水仙花數擴展閱讀:

printf函數使用注意事項

1、域寬

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

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

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

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

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

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

2、轉義字元

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

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

熱點內容
循跡小車演算法 發布:2024-12-22 22:28:41 瀏覽:82
scss一次編譯一直生成隨機數 發布:2024-12-22 22:04:24 瀏覽:956
嫁接睫毛加密 發布:2024-12-22 21:50:12 瀏覽:975
linuxbin文件的安裝 發布:2024-12-22 21:46:07 瀏覽:798
vlcforandroid下載 發布:2024-12-22 21:45:26 瀏覽:664
電腦做網關把數據發送至伺服器 發布:2024-12-22 21:44:50 瀏覽:432
新華三代理什麼牌子的伺服器 發布:2024-12-22 21:33:21 瀏覽:342
歡太會員密碼是什麼 發布:2024-12-22 20:57:28 瀏覽:74
sqllocaldb 發布:2024-12-22 20:07:08 瀏覽:126
如何找到我的伺服器 發布:2024-12-22 19:52:14 瀏覽:301