当前位置:首页 » 编程语言 » 判断水仙花数c语言

判断水仙花数c语言

发布时间: 2022-11-21 21:33:57

Ⅰ 用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); /*是水仙花数时输出*/
}

Ⅱ c语言 编写一个判断是否为水仙花数的函数,并通过调用该函数打印输出所有水仙花数。

#include&lt;stdio.h&gt;

#include&lt;math.h&gt;

int narcissistic(int number);

void PrintN(int m,int n);

int main()

{

int m,n;

scanf("%d%d",&m,&n);

if(narcissistic(m))printf("%d is a narcissistic number ",m);

PrintN(m,n);

if(narcissistic(n))printf("%d is a narcissistic number ",n);

return 0;

}

int narcissistic(int number){

int i,n=0,sum=0,cnt=0;

n=number;

while(n){

cnt++;

n/=10;

}

n=number;

while(n){

i=n%10;

sum+=(int)pow(i,cnt);

n/=10;

}

if(sum==number)

return 1;

else

return 0;

}

void PrintN(int m,int n){

int i;

for(i=m+1;i&lt;n;i++)

if(narcissistic(i))

printf("%d ",i);

}

(2)判断水仙花数c语言扩展阅读:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--&gt,m域宽,打印出来以后,在控制台上,显示m位;

如果要打印的数的位数如果超过我们设定m则原样输出;

如果要打印的数的位数如果小于设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

Ⅲ C语言用自定义函数,定义函数判断一个整数是否为水仙花数,并利用这个函数输出所有的水仙花数。


水仙花数即三位的自幂数。所谓自幂数,就是指一个 n 位数 ( n≥3 ),其每位上的数字的 n 次幂之和等于本身。

所以水仙花数,首先是三位数,形式为abc,同时a,b,c的立方和值与原本数相同。

类似的还有

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

等等。


对于水仙花数的判断,需要按照以下步骤:

1 提取该数的个位,十位,百位值。

2 计算三个数的立方和。

3 与原值比较,如相等则是。


要输出所有水仙花数,需要:

1 对所有三位数,即100到999遍历;

2 对每个数判断是否为水仙花数,如是则退出。

当循环结束,所有的水仙花数就输出成功了。

代码如下:

intisNarcissistic(intn)
{
inta=n/100;
intb=n/10%10;
intc=n%10;
returna*a*a+b*b*b+c*c*c==n;
}
intmain()
{
inti;
for(i=100;i<1000;i++)
if(isNarcissistic(i))printf("%d",i);
}


输出结果如下:

153370371407



Ⅳ 用c语言判断一个数是否为水仙花数

你的C语言程序我帮你改完了,完整的程序如下(改动的地方见注释)

#include<stdio.h>

int narcissistic(int number){

//这里n=1改成n=0并加proct变量保存连乘积

int a,b=0,n=0,c,number2,number3,proct;

number2=number;

number3=number;

while(number>0){//这里把number>10改成number>0

number=number/10;

n++;

}

while(number2>0){//这里把number2>=1改成number2>0

a=number2%10;

number2=number2/10;

proct=1;//这里初始化proct变量为1

for(c=0;c<n;c++)//这里把c=1;改成c=0;

proct=proct*a;//这里把a=a*a;改成proct=proct*a;

b=b+proct;//这里把b=b+a;改成b=b+proct;

}

if(b==number3)

return 1;

else

return 0;

}

int main(){

int i;

for(i=100;i<1000;i++){

if(narcissistic(i)==1)

printf("%d ",i);

}

return 0;

}

Ⅳ 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");

}

(5)判断水仙花数c语言扩展阅读:

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语言

完整代码如下(请自己添加包含必要的头文件):

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语言程序,输入一个数判断是否为水仙花数,急求

水仙花数
是指一个
n
位数
(
n≥3
),它的每个位上的数字的
n
次幂
之和等于它本身。(例如:1^3
+
5^3
+
3^3
=
153)
注意我这只限于3位数
#include
<stdio.h>
void
main()
{
int
x,y,z;
int
n,m;
printf("Please
input
number>=100&&<1000\n");
scanf("%d",&n);
x=n/100;//X
是百位的数
y=(n-x*100)/10;//y是十位的数
z=n%10;//z是个位的数
m=x*x*x+y*y*y+z*z*z;
if(n==m)
printf("TRUE");
else
printf("FALSE");
}

Ⅸ 水仙花数的c语言编程。

所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3 + 5^3+ 3^3。

下面是完整的C语言编程代码:

运行结果:
result is:153 370 371 407

(9)判断水仙花数c语言扩展阅读

常见水仙花数

水仙花数又称阿姆斯特朗数。

1、三位的水仙花数共有4个:153,370,371,407;

2、四位的四叶玫瑰数共有3个:1634,8208,9474;

3、五位的五角星数共有3个:54748,92727,93084;

4、六位的六合数只有1个:548834;

5、七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;

6、八位的八仙数共有3个:24678050,24678051,88593477

热点内容
pythonip合法性 发布:2025-01-16 04:48:52 浏览:75
锂电池用3a的充电器是什么配置 发布:2025-01-16 04:26:43 浏览:35
好配置为什么感觉打联盟不流畅 发布:2025-01-16 04:23:02 浏览:900
我的世界java编辑服务器信息 发布:2025-01-16 04:21:42 浏览:507
android拨号上网 发布:2025-01-16 04:13:25 浏览:97
安卓网络编程怎么用 发布:2025-01-16 03:04:45 浏览:899
湖南it服务器怎么样 发布:2025-01-16 03:01:01 浏览:248
图中两种配置哪个好 发布:2025-01-16 02:59:28 浏览:582
如何解开密保密码 发布:2025-01-16 02:57:44 浏览:23
中国银行查询密码是什么 发布:2025-01-16 02:33:20 浏览:796