2.5 注释与习题
好了,又到了我们最爱的做题时间,看题:
2-1 水仙花数
输出 100-999 种所有的水仙花数,若三位数ABC满足ABC=A3+B3+C3,则称其为水仙花。
分析:首先,我们可以很轻松的看出可以用循环结构去解决这道题(废话,整个第二章就讲的循环),那具体怎么循环呢,这里介绍两种方法。
第一种:将100-999每一个三位数循环一遍,每次循环将三位数的个位十位百位分离出来进行检验。
代码如下:
#include<stdio.h>
#include<math.h>
int main(){
for (int i=100;i<=999;i++){
int gw,sw,bw;//个位,十位,百位
gw=i%10;
sw=i%100/10;
bw=i/100;
if (pow(gw,3)+pow(sw,3)+pow(bw,3)==i)//pow在1.1就介绍过了
printf("%d\n",i);
}
return 0;
}
第二种:对个位十位百位分别进行循环,将个位十位百位组合成一个三位数
代码如下:
#include<stdio.h>
#include<math.h>
int main(){
for (int i=1;i<=9;i++)//百位的循环
for (int j=0;j<=9;j++)//十位的循环
for (int k=0;k<=9;k++)//个位的循环
if (100*i+10*j+k==pow(i,3)+pow(j,3)+pow(k