#include
int main()
{
//所谓水仙花数是指一个三位数,其各位数字立方和等于该数
int i;
int a=0,b=0,c=0; //a表示百位上的数,b表示十位上的数,c表示个位上的数,
printf("打印三位数的所有水仙花数\n");
for (i=100;i<1000;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if (i==a*a*a+b*b*b+c*c*c)
{
printf("%d\n",i);
}
}
return 0;
}
#include "stdafx.h"
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//13.题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
//本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
// 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位
int nEntries=0,nTen=0,nHundred=0;
for ( int i=100;i<1000;i++)
{
nHundred=i/100;
nTen=i%100/10;
nEntries=i%10;
if (i==nHundred*nHundred*nHundred+nTen*nTen*nTen+nEntries*nEntries*nEntries)
{
cout<<"\t"< }
}
return 0;
}
有一点不好 就是不能判断100一下得
#include
int main(void)
{
int ge,shi,bai,i;
for(i=100;i<1000;i++)
{
bai=i/100; //百位
shi=i/10%10; //十位
ge=i%10; //个位
if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge)
printf("水仙花数为%d\n",i);
}
return 0;
}
望采纳!!!
#include
int main()
{
for(int num=100;num<1000;++num)
{
int a=num%10;
int b=num/10%10;
int c=num/100%10;
if((a*a*a+b*b*b+c*c*c)==num) printf("%d\n",num);
}
return 0;
}
#include
main(){
int i,j,k,n;
printf("\n水仙花数有:");
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%5d",n);
}
printf("\n");
}