⑴ c语言:写函数判断一个三位数是不是水仙花数,是输出YES,不是输出NO
#include<stdio.h>激亩
voidmain()
{
inta,b,c,n;
printf("请输入一个缓消三位数:");
scanf("%d"扰铅知,&n);
a=n%10;
b=(n%100-n%10)/10;
c=(n-n%100)/100;
if(a*a*a+b*b*b+c*c*c==n)
printf("%d是水仙花数。",n);
elseprintf("%d不是水仙花数。",n);
}
运行示例:
⑵ c语言编程题:输出所有三位数的水仙花数
下面代码可以完成此题:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmyfunc(intn){
并毕颤数磨inta,b,c;
if(n==(a=n%10)*a*a+(b=n/10%10)*b*b+(c=n/100)*c*c)
绝败returnn;
return0;
}
intmain(void){
inti,x;
for(i=101;i<1000;i++)
if(x=myfunc(i))
printf("%4d",x);
printf(" ");
return0;
}
⑶ C语言-求三位数的水仙花数
首先说一下什凯和亮么是水仙花数,就是一个三位数,它的各个位数上的数字的立方相加等于它本身,例如153,1的立方1,5的立方125,3的立方9,1+125+9=153
求水仙花数的基本思想
首先要满足三盯宽位数这个条件,所以循环从i=100到i =999
然后就是要取这个三位数各个位数的数字,取百位上的数,用除法i/100,因为i是int 类型所以结果就是百位上的数字
十位上的数,先取10的余数再除以10
个位上的数,直接取10的余数即可
最后再用一个if语句判断一下各个位数立方和是否等于这个数i
下面是我上机实验的图片
其实求各个位数的方法有点不一样,没影响的,方法很多,但是我觉得上述文字中方法更简洁
3.12
今天早上起来又看到一个新方法
可以棚悔用do while
⑷ 输入三位数,判断是不是水仙花数c语言
完整代码如下(请自己添加包含必要的头文件):
int main()
{
int input = 0;
scanf("%d", &input); //输入
int ge = input % 10; //获取个位数字
int shi = (input / 10) % 10; //获取十位数字
int = input / 100; //获取百位数字
//计算各位的立方和,与原数比较
int newNum = (ge*ge*ge) + (shi*shi*shi) + (**);
if (newNum == input)
{
printf("数字%d是水仙花数。",input);
}
else
{
printf("数字%d不是水仙花数。", input);
}
return 0
}
⑸ c语言 编程求三位数的水仙花数
#include <stdio.h>
int main()
{
int i;
for( i=100; i<1000; i++)
{
int num0 = i%10;
int num1 = i/10%10;
int num2 = i/10/10%10;
if(i==(num0*num0*num0+num1*num1*num1+num2*num2*num2))
{ printf("%5d", i);
}
}
return 0;
}
⑹ c语言编程 一个三位数的水仙花数 的程序
#include <stdio.h>
main()
{
int input_number,one_level,ten_level,hun_level;
for(input_number=100;input_number<1000;input_number++)
{
one_level=input_number%10;
ten_level=(input_number/10)%10;
hun_level=input_number/100;
if(input_number==one_level*one_level*one_level+ten_level*ten_level*ten_level+hun_level*hun_level*hun_level)
printf("%d\n",input_number);
}
}
⑺ 水仙花数的c语言编程。
C语言具体实现水仙花过程如下:
一、问题描述:
输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13 + 53 + 33。
二、问题分析:
根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为s),若s与给出的三位数相等, 三位数为“水仙花数”,反之,则不是。
三、算法设计:
“水仙花数”是指满足某一条件的三位数,根据这一信息可以确定整数的取值范围是 100〜999。对应的循环条件如下:
for(n=10; n<1000; n++) { //...... }
四、完整的代码:
⑻ c语言。。用if语句编程,输入一个三位数,判断是否为水仙花数。
三位的水仙花数就是每一位的立方之和和这个三位数相等的数,用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");
}
(8)三位数水仙花数c语言if扩展阅读:
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);
⑼ c语言。。用if语句编程,输入一个三位数,判断是否是水仙花数。
1、严格的水仙花是三位数,并且其每位数的三次方的和等于它的本身。
例子如下:370是一个严格的水仙花数,3^3+7^3+0^3=370.
2、C 语言的"水仙花数"实现代码:
#include <stdio.h>
#include<math.h>
int main (void) {
long n,p;
long c,a,j,s[30],i,q;
p=0;
a=10;
scanf("%ld",&n);
q=n;
for (i=1;c>10 ;++i) {
c=n/a;
a=a*10;
}printf("i=%ld,a=%ld \n",i,a);
for (j=1;a>=10 ;++j) {
s[j]=n/(a/10);
n=n-s[j]*(a/10);
a=a/10;
printf("j=%ld,a=%ld\n",j,a);
}
for (j=1;j<=i ;j++) {
p+=pow(s[j],i);
printf("p=%ld,i=%ld\n",p,i);
}
if (p==q) {
printf("%ld 为水仙花数",q);
}else {
printf("%ld 该数不是水仙花数",q);
}
return 0;
}
⑽ 用C语言写出判断一个三位数是否为水仙花数的程序
#include<stdio.h>
void main()
{ int i,j,k,m;
printf("input data:");
scanf("%d",&m); /*输入一个3位数*/
i=m/100;
j=(m-100*i)/10;
k=m-100*i-10*j;
if(m==i*i*i+j*j*j+k*k*k) printf("%d
",m); /*是水仙花数时输出*/
}