解题思路:
显然,水仙花数只能在2—999中取得,因此设i的起始值是2,最大值是999。用ge=i%10取i的个位数,用shi=i/10%10取十位,再用bai=i/100取百位。
最后判断:if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)即可
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int i,ge,shi,bai;
for(i=2;i<=999;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
{
printf("%d\n",i);
}
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:617 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:694 |
简单的a+b (C语言代码)浏览:528 |
C语言训练-大、小写问题 (C语言代码)浏览:792 |
WU-printf基础练习2 (C++代码)浏览:2061 |
1014题解浏览:524 |
C二级辅导-同因查找 (C语言代码)浏览:618 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:820 |
1231题解(注意理解“输入多个测试实例”)浏览:830 |
瞎折腾 2017-10-25 18:51:08 |
可以,确实是没必要考虑100以下的数