三位的水仙花数就是每一位的立方之和和这个三位数相等的数,用if语句编程,输入一个三位数,判断是否为水仙花数,可以参考以下的代码:
include<stdio.h>
main()
{ int x,a,b,c;
scanf("%d",x);
a=x/100;
b=(x/10)%10;
c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
printf("YES");
else
printf("NOT");
}
扩展资料:
if的返回值为真或假,可以用bool型变量进行存储,占用一字节。
C语言中提供了2种形式的if语句:
1、if(表达式)语句1,例如:
if(x>y)
printf("%d",x);
2、if(表达式),语句1
else
语句2,例如:
if(x>y)
printf("%d",x);
else
printf("%d",y);
参考资料来源:百度百科-if语句
三位的水仙花数就是每一位的立方之和和这个三位数相等的数。由于固定为三位数,所以可以直接分离各位数字求结果。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int n,d;
printf("Please enter a 3 digits and is a positive integer...\nn=");
if(scanf("%d",&n)!=1 || n<100 || n>999){//限制输入的是3位数
printf("Input error, exit...\n");
return 0;
}
if((d=n/100)*d*d+(d=n/10%10)*d*d+(d=n%10)*d*d==n)//分离并求各位立方和与本数比较
printf("%4d -- Yes!\n",n);
else
printf("%4d -- No!\n",n);
return 0;
}
执行结果如下:
main前没有void吗?有没有影响。
b=(x-a*100)╱10可以吗?