题目
编写一个程序,求100~999之间所有的水仙花数。所谓“水仙花数”,即是一个三位数,它个位、十位、百位数字的立方和,恰好就等于该数本身。比如数153,由于:
13+53+33=1+125+27=153,所以153是一个水仙花数。
代码如下(示例):
#define _CRT_SECURE_NO_WARNINGS 1
//编写一个程序,求100~999之间所有的水仙花数。所谓“水仙花数”,
//即是一个三位数,它个位、十位、百位数字的立方和,恰好就等于该数本身。
//比如数153,由于:13 + 53 + 33 = 1 + 125 + 27 = 153,
//所以153是一个水仙花数。
#include <stdio.h>
int main() {
int i = 0;//i是百位上的数
int j = 0;//j是十位上的数
int k = 0;//k是个位上的数,
int m = 0;//m是这个数
for (m = 100; m < 999; m++) {//使用for循环来寻找水仙花数
i = m / 100%10;//百位除百后取余
j = m / 10 % 10;//十位除于十后取余
k = m % 10;//个位求模取余
if (m ==i * i * i + j * j * j + k * k * k) {//使用if语句来判断是否是水仙花数
//刚开始运行的时候出错,问题就出现在写的是赋值号,不是等于号,
//切记在c语言中,等于号是写两个等于
printf("%d是水仙花数\n",m);
}
}
return 0;
}
总结
刚开始运行的时候出错,问题就出现在写的是赋值号,不是等于号,
切记在c语言中,等于号是写两个等于