一、方法一:使用三重循环
#include<stdio.h>
int main()
{
int i,j,k,n;
for(i=1;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
n=i*100+j*10+k;
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
{
printf("%d是水仙花数\n",n);
}
}
}
}
return 0;
}
二、方法二:使用if循环
#include<stdio.h>
int main()
{
int ge,shi,bai,n;
printf("输入正整数:\n");
scanf("%d",&n);
ge=n%10;
shi=n/10%10;
bai=n/100;
if(n<100||n>1000)
printf("重新输入正整数:");
else
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==n)
printf("%d是水仙花数",n);
else
printf("%d不是水仙花数",n);
return 0;
}
运行结果如图,发现出现乱码情况
解决方法:
1.点击右下角“UTF-8”,出现该界面
2.点击“通过编码重新打开”,然后选择“GBK”,最后重启VSCode
或者
1.点击“文件”➡“首选项”➡“设置”
2.搜索“encoding”,然后重启VSCode
再次运行该程序: