题目:打印出所有的“水仙花数” ,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153 是一个“水仙花数” ,因为 153=1的三次方+5 的三次方+3 的三次方。
1.程序分析:
利用 for 循环控制100-999 个数,每个数分解出个位,十位,百位。
2.程序源代码:
#include<stdio.h>
int main()
{
int i,j,k,n;
printf("water fiower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分离出十位*/
k=n%10;/*分离出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
3.代码及编译结果截图:
4.知识点:
1.%在这里是求余数的运算符。分别利用%分离百位、十位、个位。
2.%-md:输出格式为整形,长度为m(输出最小长度),左对齐;可用m表示你的3,4,5,121;
5.拓展:
1.%m.nf:输出格式为float型,即带小数点的小数,m为总长度,n为小数长度。
2. “\”是转义字符,有两种格式“\ddd和\xhh”;
3. \ddd:ddd表示三位8进制数;
4. \xhh:表示两位16进制数。
注:此文章用于个人学习,若有侵权请联系删掉。