解题思路:首先由题知水仙花是三位数,所以由100-999之间就可以,将个位十位百位都分出来再分别三次方相加,最后判定是否相等原数即可

注意事项:用循环有一个好处 是从100一直向上加,碰到水仙花数直接输出就解决了从小到大排序的问题,

如果从大到小排序可以再定义一个数组反向输出

参考代码:

int i=100;
int gw,sw,bw;                        //gw 个位 sw十位  bw百位
while(i<1000)
 {
  gw=i%10;
  sw=(i/10)%10;
  bw=(i/10)/10;
  if(gw*gw*gw+sw*sw*sw+bw*bw*bw==i)     //判定是否相等
  {
   printf("%d\n",i);
  }
 i=i+1;
 }
return 0;

点赞(4)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论