⑴ 水仙花數c語言程序
n放錯地方了。
#include<stdio.h>
void main()
{
int i,j,k,n;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
{
n=i*100+j*10+k;
if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("水仙花數為:%d\n",n);
}
}
沒讀你的程序,現在不那樣了。
還有問題給我留言。
⑵ 水仙花數的c語言編程。
C語言具體實現水仙花過程如下:
一、問題描述:
輸出所有的「水仙花數」,所謂的「水仙花數」是指一個三位數其各位數字的立方和等於該數本身,例如153是「水仙花數」,因為:153 = 13 + 53 + 33。
二、問題分析:
根據「水仙花數」的定義,判斷一個數是否為「水仙花數」,最重要的是要把給出的三位數的個位、十位、百位分別拆分,並求其立方和(設為s),若s與給出的三位數相等, 三位數為「水仙花數」,反之,則不是。
三、演算法設計:
「水仙花數」是指滿足某一條件的三位數,根據這一信息可以確定整數的取值范圍是 100〜999。對應的循環條件如下:
for(n=10; n<1000; n++) { //...... }
四、完整的代碼:
⑶ C語言編寫水仙花數
&m);10,s;%ld"while(n,可把上述代碼移植到其他程序中;s=0;n=m/{p=n%10,如果求得的和等於m,n;10;/*PS:,則為水仙花數*/,可以使用;是水仙花數\if(s==m)printf("intp;*輸入長整形數字*/,s;/不是水仙花數\}/s+=p*p*p;*賦予s值為0*/):;/。*//*把m數字的第一位去掉,n存放中間數字*//n"*PS,可繼續*/voidmain(){longintm,從各位開始*/*求得m的第一位數字;請輸入一個整數;*繼續求和*/*定義整形數字;/*繼續依次去掉每一位數字*/:如還有不懂:m;,想求其他的;}/:"n=n/,判斷是否是水仙花數,s存放各位數字之和;elseprintf(",如果;):.h>/*定義長整形數字。經測試,m存放判斷的數字;n",是輸入一個數字;*當n不等於0時*/p=m%10;printf("/s+=p*p*p:上述代碼;stdio;*最後,直接除以10*/);/scanf("/,來存放每個位的數字*/,n!=0)/*求的每一位數字*/#include<
⑷ c語言編程:水仙花數
#include<stdio.h>
#include<stdilib.h>
main()
{
int i, a, b, c;
for( i=100; i<=999; i++ ){
c=i%100; //個位
a=i/100; //百位
b=i-100*a-c; //十位
if( a*a*a+b*b*b+c*c*c == i )
printf("%d\t",i);
}
system("pause");
return 0;
}
⑸ 「水仙花數」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語言編程輸出所有的「水仙花數」。
1、首先需要打開Dev-c++軟體,點擊「新建源代碼」。
⑺ C語言關於水仙花數的程序
怎麼定義a=i/100,b=(i%100)/10,這些不應該在int
定義里,i本身還沒賦值,應該在for循環里給出a,b,c的值,如果不建議
看看我的把
#include<stdio.h>
void
main()
{
int
i,j,k,a;
for(i=0;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
{a=i*100+j*10+k;
if(a>99)
printf("%d\n",a);}
}
希望採納,謝謝!
⑻ 水仙花數c語言
C語言輸出水仙花數的具體分析和實現流程如下:
1、水仙花數的含義
「水仙花數」是一個三位數其各位數字的立方和等於該數本身。例如:3^3 + 7^3+ 0^3 = 370
2、演算法分析
把給出的某個三位數的個位、十位、百位分別拆分,並求其立方和(設為sum),若sum與給出的三位數相等, 則為「水仙花數」。
3、演算法設計
「水仙花數」是一個三位數,可以確定該數的取值范圍是 100〜999。對應的循環條件如下:
for (n=10; n<1000; n++) {}
(8)水仙花數編程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
⑼ c語言水仙花數編程
#include <stdio.h>
void main()
{
int a,b,c,i,j=0;
for(i=100;i<1000;i++)
{
a = i / 100;
b = i % 100 / 10;
c = i % 10;
if(a*a*a+b*b*b+c*c*c==i)
{
printf("%d ",i);
j++;
if(j%2==0)
printf(" ");
}
}
}
⑽ 用C語言怎麼編寫一個能求出所有的水仙花數的程序
#include <stdio.h>
#include <conio.h>
void main()
{
int iPoh,iPos,iPog,iNum = 0; /*定義變數 ipoh為百位 ipos為十位 ipog為個位,iNum為最後的水仙花數字*/
for (iNum=100; iNum<=300; iNum++)
{
iPoh = iNum/100; /*分解出數字的百 十 個位上的數字*/
iPos = (iNum%100)/10;
iPog = iNum%10;
if (iPoh*iPoh*iPoh+iPos*iPos*iPos+iPog*iPog*iPog == iNum) /*判斷是否為水仙花數字*/
{
printf("%-6d",iNum);
} /*輸出結果*/
}
getch();
}
經測試,可以使用!!