C语言基础练习01-水仙花数_c语言中水仙花数的求法

阿姆斯特朗数也叫水仙花数,指一个3位数的各位数字的立方和等于该数本身。如153 = 1^3 + 5^3 + 3^3。

分析

(1)使用for循环遍历100-999中的所有数。

(2)使用除法(\),取余(%)分离出个位、十位、百位数字。

(3)根据各位数字立方和等于该数本身,采用if语句判断,输出符合条件的数。

示例

#include<stdio.h>
int main(void){
    int ge,shi,bai,i;
    for(i=100;i<1000;i++){
        ge = i % 10;
	shi = i /10 % 10;
	bai = i /100;
	if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){
            printf("%5d",i);
	}
    } 
    printf("\n");
    return 0;
}

运行结果

分析

以数字153进行分析

(1)ge = i % 10 = 153 % 10 = 3

(2)shi = i /10 % 10 = 153/10%10 = 5

(3)bai = i /100 = 153/100 = 1

总结

C语言中分离各个位数的数字可以采用除法和取余的方式。