輸出的水仙花數c語言
① c語言輸出所有水仙花數
給你改了下
#include<stdio.h>
voidmain()
{
inta,b,c,s;
//s=a*100+b*10+c;//這句放在最裡面的循環
for(a=1;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
s=a*100+b*10+c;//放這里
if(s==a*a*a+b*b*b+c*c*c)//"=="不是"="
printf("%d ",s);
}
}
}
}
② c語言中,如何輸出所有的水仙花數
水仙花數即三位的自冪數。所謂自冪數,就是指一個 n 位數 ( n≥3 ),其每位上的數字的 n 次冪之和等於本身。
所以水仙花數,首先是三位數,形式為abc,同時a,b,c的立方和值與原本數相同。
類似的還有
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
等等。
對於水仙花數的判斷,需要按照以下步驟:
1 提取該數的個位,十位,百位值。
2 計算三個數的立方和。
3 與原值比較,如相等則是。
要輸出所有水仙花數,需要:
1 對所有三位數,即100到999遍歷;
2 對每個數判斷是否為水仙花數,如是則退出。
當循環結束,所有的水仙花數就輸出成功了。
代碼如下:
int isNarcissistic(int n)
{
int a = n/100;
int b = n/10%10;
int c = n%10;
return a*a*a + b*b*b + c*c*c == n;
}
int main()
{
int i;
for(i = 100; i< 1000; i ++)
if(isNarcissistic(i)) printf("%d ",i);
}
輸出結果如下:
153 370 371 407
③ 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;
}
(3)輸出的水仙花數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.求得這三個數字的立方和是否與其本身相等,若相等,則該數為水仙花數。
網路-水仙花數
④ 輸出 所有的「水仙花數」 用c語言程序 怎麼做
#include"stdio.h"
voidmain()
{
inta,b,c,s;
for(a=1;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
s=100*a+10*b+c;
if(s==(a*a*a+b*b*b+c*c*c))
printf("%d ",s);
}
}
}
}
⑤ 「水仙花數」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;
}
(5)輸出的水仙花數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。
⑥ C語言編程,輸出所有水仙花數
//x^3在C++代表x與3異或
//而非x的立方
改寫後的代碼:
#include<stdio.h>
intmain()
{
inta;
for(a=100;a<=999;a++)
{
//x^3在C++代表x與3異或
//而非x的立方
//if(a==(a/100)^3+((a-(a/100)*100)/10)^3+(a-(a/100)*100-((a-(a/100)*100)/10)*10)^3)
if(a==(a/100)*(a/100)*(a/100)+
((a-(a/100)*100)/10)*((a-(a/100)*100)/10)*((a-(a/100)*100)/10)+
(a-(a/100)*100-((a-(a/100)*100)/10)*10)*(a-(a/100)*100-((a-(a/100)*100)/10)*10)*
(a-(a/100)*100-((a-(a/100)*100)/10)*10))
//printf("%d",a);
printf("%d",a);
}
return0;
}
執行結果:
⑦ c語言編程題:輸出所有三位數的水仙花數
下面代碼可以完成此題版:權
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmyfunc(intn){
inta,b,c;
if(n==(a=n%10)*a*a+(b=n/10%10)*b*b+(c=n/100)*c*c)
returnn;
return0;
}
intmain(void){
inti,x;
for(i=101;i<1000;i++)
if(x=myfunc(i))
printf("%4d",x);
printf(" ");
return0;
}
⑧ C語言編程輸出所有的「水仙花數」。
1、首先需要打開Dev-c++軟體,點擊「新建源代碼」。
⑨ c語言 輸出所有水仙花數
在第一個for循環前面給s賦值時,a、b、c的值沒有初始化,所以整個s=100*a+10*b+c是不確定的值,程序運行便版會出錯權!
建議修改:將語句s=100*a+10*b+c放到條件語句if(s==(a*a*a+b*b*b+c*c*c))之前,這樣s得到的是確定值,程序運行正常。
修改後源程序如下:
#include"Stdio.h"
voidmain()
{
inta,b,c,s;
for(a=1;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
s=100*a+10*b+c;
if(s==(a*a*a+b*b*b+c*c*c))
printf("%d ",s);
}
}
}
getchar();
}
程序運行結果見插圖。
⑩ C語言:輸出所有四位水仙花數,並輸出四位水仙花數的個數。
首先你需要引入頭文件math.h;然後下面是代碼:
intn=1000,num=0;//num代表水仙花數個數
while(n<10000){
inta,b,c,d;//分別存儲個位、十位、百位、千位
a=n%10;b=n/10%10;c=n/100%10;d=n/1000%10;
if(pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)==n){
printf("%d ",n)
num++;
}
n++;
}