#include <stdio.h>
#include <stdlib.h>
int main()//100~999之间的水仙花数
{
int a;
for (a = 100; a < 1000; a++)
{
int i = a % 10; //个位
int j = a % 100 / 10; //十位
int k = (a - i - j * 10) / 100;//百位
if (i*i*i + j*j*j + k*k*k == a)
{
printf("%d为水仙花数", a);
}
}
system("pause");
return 0;
int j = a % 100 / 10; //十位
int k = (a - i - j * 10) / 100;//百位 //int i = a / 100; 此举与前面相同且更为简单
for (a = 100; a < 1000; a++)
{
if (i*i*i + j*j*j + k*k*k == a)
{
printf("%d为水仙花数", a);
}
}
system("pause");
return 0;
#include <stdlib.h>
int main()//100~999之间的水仙花数
{
int a;
for (a = 100; a < 1000; a++)
{
int i = a % 10; //个位
int j = a % 100 / 10; //十位
int k = (a - i - j * 10) / 100;//百位
if (i*i*i + j*j*j + k*k*k == a)
{
printf("%d为水仙花数", a);
}
}
system("pause");
return 0;
}
输出:100到999内所有水仙花数,int i,j,k放在循环内部
#include <stdio.h>
#include <stdlib.h>
int main()//100~999之间的水仙花数
{
int a;
printf("please input a number");
scanf_s("%d", &a);
int j = a % 100 / 10; //十位
int k = (a - i - j * 10) / 100;//百位 //int i = a / 100; 此举与前面相同且更为简单
for (a = 100; a < 1000; a++)
{
if (i*i*i + j*j*j + k*k*k == a)
{
printf("%d为水仙花数", a);
}
}
system("pause");
return 0;
}
输出:输入一个数,判断其是否为水仙花数,int i,j,k放在循环外部