当前位置:首页 » 编程语言 » 水仙花c语言实现
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

水仙花c语言实现

发布时间: 2022-08-28 18:15:47

‘壹’ “水仙花”的c语言编程方法

这是我们书上的一道题目:打印出100-999中所有的“水仙花数”
#include<stdio.h>
void
main()
{

int
i,j,k,n;

printf("水仙花数为:");

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("%d
",n);

}
}

‘贰’ c语言怎么编写水仙花数

方法:先弄懂什么是水仙花数::
水仙花数是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。
3位水仙花数————先定义3个数其中一个为1--9;2个为0--9;(用for循环)
再用如果a定义为1--9那么用100*a来表示百位;如果b或者c定义是0--9那么用10*b或者10*c来表示十位;那么下面用c或者b来表示个位;
if(100*a+10*b+c==a*a*a+b*b+c) 如果满足这个条件那么:输出的printf("%d%d%d",a,b,c)就是3位数的水仙花数:

4位水仙花数方法同上:

刚写的:调试过了
#include <stdio.h>
int main(void)
{
int a,b,c,d;
system("cls");
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d%d%d%d\n",a,b,c,d);
getch();
}

或者这样:
#include <stdio.h>
int main(void)
{
int a,b,c,d;
system("cls");
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
for(d=0;d<=9;d++)
if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d%d%d%d\n",a,b,c,d);
}
getch();
}

‘叁’ 水仙花数C语言程序

n放错地方了。
#include<stdio.h>
void main()
{
int i,j,k,n;

for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
{
n=i*100+j*10+k;
if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("水仙花数为:%d\n",n);
}
}
没读你的程序,现在不那样了。
还有问题给我留言。

‘肆’ c语言,水仙花作业

#include <stdio.h>


int main()


{


int start, end, i = 0, a, b, c, size = 0;


while (scanf("%d %d", &start, &end) == 2)


{


for (i = start; i <= end; i++)


{


a = i / 100;


b = i / 10 % 10;


c = i % 10;


//total = pow(c, 3) + pow(a, 3) + pow(b, 3);


if ((a*a*a + b*b*b + c*c*c) == i) //满足水仙花条件


{


if (size == 0) //size=0输出第一个水仙花数


{


printf("%d", i);


}


else //size++输出第二。。第n个水仙花数


{


printf(" %d", i);


}


size++; //个数++;


}


}


if (size == 0) //范围内个数为0,则说明没有满足条件的


{


printf("no");


}


printf(" ");


}

return 0;


}

网页链接

‘伍’ c语言水仙花数

#include <stdio.h>

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", &start, &end) == 2)

{

for (i = start; i <= end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i) //满足水仙花条件

{

if (size == 0) //size=0输出第一个水仙花数

{

printf("%d", i);

}

else //size++输出第二。。第n个水仙花数

{

printf(" %d", i);

}

size++; //个数++;

}

}

if (size == 0) //范围内个数为0,则说明没有满足条件的

{

printf("no");

}

printf(" ");

}

return 0;

}

(5)水仙花c语言实现扩展阅读:

需要注意的地方:

1.将n整除以100,得出n在百位上的数字hun。

2.将(n-i*100)整除以10(或将n先整除以10再对10求模n/10%10),得出n在十位上的数字ten。

3.将n对10取余,得出n在个位上的数字ind。

4.求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数。

网络-水仙花数

‘陆’ C语言编写水仙花数

&m);10,s;%ld"while(n,可把上述代码移植到其他程序中;s=0;n=m/{p=n%10,如果求得的和等于m,n;10;/*PS:,则为水仙花数*/,可以使用;是水仙花数\if(s==m)printf("intp;*输入长整形数字*/,s;/不是水仙花数\}/s+=p*p*p;*赋予s值为0*/):;/。*//*把m数字的第一位去掉,n存放中间数字*//n"*PS,可继续*/voidmain(){longintm,从各位开始*/*求得m的第一位数字;请输入一个整数;*继续求和*/*定义整形数字;/*继续依次去掉每一位数字*/:如还有不懂:m;,想求其他的;}/:"n=n/,判断是否是水仙花数,s存放各位数字之和;elseprintf(",如果;):.h>/*定义长整形数字。经测试,m存放判断的数字;n",是输入一个数字;*当n不等于0时*/p=m%10;printf("/s+=p*p*p:上述代码;stdio;*最后,直接除以10*/);/scanf("/,来存放每个位的数字*/,n!=0)/*求的每一位数字*/#include<

‘柒’ c语言,水仙花

方法:先弄懂什么是水仙花数::
水仙花数是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。
3位水仙花数————先定义3个数其中一个为1--9;2个为0--9;(用for循环)
再用如果a定义为1--9那么用100*a来表示百位;如果b或者c定义是0--9那么用10*b或者10*c来表示十位;那么下面用c或者b来表示个位;
if(100*a+10*b+c==a*a*a+b*b+c) 如果满足这个条件那么:输出的printf("%d%d%d",a,b,c)就是3位数的水仙花数:
4位水仙花数方法同上:
刚写的:调试过了
#include <stdio.h>
int main(void)
{
int a,b,c,d;
system("cls");
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d%d%d%d\n",a,b,c,d);
getch();
}
或者这样:
#include <stdio.h>
int main(void)
{
int a,b,c,d;
system("cls");
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
for(d=0;d<=9;d++)
if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d%d%d%d\n",a,b,c,d);
}
getch();
}

‘捌’ 水仙花数的c语言编程。

C语言具体实现水仙花过程如下:

一、问题描述:

输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13 + 53 + 33。

二、问题分析:

根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为s),若s与给出的三位数相等, 三位数为“水仙花数”,反之,则不是。

三、算法设计:

“水仙花数”是指满足某一条件的三位数,根据这一信息可以确定整数的取值范围是 100〜999。对应的循环条件如下:

for(n=10; n<1000; n++) { //...... }

四、完整的代码:

‘玖’ c语言水仙花数编程

#include <stdio.h>

void main()

{

int a,b,c,i,j=0;

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

{

a = i / 100;

b = i % 100 / 10;

c = i % 10;

if(a*a*a+b*b*b+c*c*c==i)

{

printf("%d ",i);

j++;

if(j%2==0)

printf(" ");

}

}

}


‘拾’ C语言编程输出所有的“水仙花数”。

1、首先需要打开Dev-c++软件,点击“新建源代码”。