c語言函數水仙花數
❶ c語言 編寫一個判斷是否為水仙花數的函數,並通過調用該函數列印輸出所有水仙花數。
#include<stdio.h>
#include<math.h>
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<n;i++)
if(narcissistic(i))
printf("%d ",i);
}
(1)c語言函數水仙花數擴展閱讀:
printf函數使用注意事項
1、域寬
%d:按整型數據的實際長度輸出。
如果想輸出指定寬度可以指定域寬,%md-->,m域寬,列印出來以後,在控制台上,顯示m位;
如果要列印的數的位數如果超過我們設定m則原樣輸出;
如果要列印的數的位數如果小於設定的位數,則補空白,具體如下:
如果m為正數,則左對齊(左側補空白);
如果m為負數,則右對齊(右側補空白)。
2、轉義字元
如果想輸出字元"%",則應該在「格式控制」字元串中用連續兩個%表示。
如:printf("%f%%",1.0/3);輸出結果:0.333333%。