c语言编程题 找出所有的水仙花数,水仙花数是指一个3位数

作者&投稿:叱干爬 (若有异议请与网页底部的电邮联系)
C语言题目:输出所有的“水仙花数”,并输出其总个数。所谓“水仙花数”是指一个3位数,其各位数字的立...~

具体程序如下:
#include
void main()
{
int i,a,b,c,count=0;//count是计数器
printf("水仙花数有
");
for (i=100;i<=999;i++)
{
a=i/100; //取百位数字
b=(i-a*100)/10; //取十位数字
c=i%10; //取个位数字
if(a*a*a+b*b*b+c*c*c==i)//如果是水仙花数
{
printf("%d",i);
count++;//如果是水仙花数 计数器就加1
}
}
printf("
水仙花数的个数为%d",count);
printf("
");
}
运行结果如下

水仙花数是指一个 n 位数 ( n=3 ),它的每个位上的数字的 n 次幂之和等于它本身.所以n位数的水仙花数就是将其每一位的n次方相加.看是否等于其本身.三位的水仙花数共有4个:153,370,371,407;程序如下:#include<iostreamusing namespace std;int main(){int bit1,bit2,bit3;for(int i=100;i<1000;++i){bit1=i/100; //取百位数bit2=(i/10)%10; //取十位数if(i == bit1*bit1*bit1 + bit2*bit2*bit2 + bit3*bit3*bit3 ) //将各个数的立方相加看是否等于其本身.{cout<<i<<endl;}}return 0;}附图:

import org.junit.Test;

public class NarcissusNumber{

public void isNarcissusNumber(){

//循环[100,999]

for(int i=100;i&lt;=999;i++){

//分割出个位

int a=i%10;

//分割出十位

int b=i/10%10;

//分割出百位

int c=i/100;

//判断该数是否等于【个位的三次方+十位的三次方+百位的三次方】

if(i==(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3))){

System.out.println(i+"是水仙花数");

}

}

}

Test

public void test(){

isNarcissusNumber();

}

/**

*结果:

*---&gt;153是水仙花数

*---&gt;370是水仙花数

*---&gt;371是水仙花数

*---&gt;407是水仙花数

*/

}

扩展资料:

import用法

静态的import语句用于导入由另一个模块导出的绑定。无论是否声明了strict mode,导入的模块都运行在严格模式下。在浏览器中,import语句只能在声明了type="module"的script的标签中使用。

此外,还有一个类似函数的动态import(),它不需要依赖type="module"的script标签。

在script标签中使用nomodule属性,可以确保向后兼容。

在您希望按照一定的条件或者按需加载模块的时候,动态import()是非常有用的。而静态型的import是初始化加载依赖项的最优选择,使用静态import更容易从代码静态分析工具和tree shaking中受益。

语法

import defaultExport from"module-name";

import*as name from"module-name";

import{export}from"module-name";

import{export as alias}from"module-name";

import{export1,export2}from"module-name";

import{foo,bar}from"module-name/path/to/specific/un-exported/file";

import{export1,export2 as alias2,[...]}from"module-name";

import defaultExport,{export[,[...]]}from"module-name";

import defaultExport,*as name from"module-name";

import"module-name";

var promise=import("module-name");//这是一个处于第三阶段的提案。

defaultExport

导入模块的默认导出接口的引用名。

module-name

要导入的模块。通常是包含目标模块的.js文件的相对或绝对路径名,可以不包括.js扩展名。某些特定的打包工具可能允许或需要使用扩展或依赖文件,它会检查比对你的运行环境。只允许单引号和双引号的字符串。

name

导入模块对象整体的别名,在引用导入模块时,它将作为一个命名空间来使用。

export,exportN

被导入模块的导出接口的名称。

alias,aliasN

将引用指定的导入的名称。



找出所有3位水仙花数的程序:

#include<stdio.h>

int main()

{

 int i,a,b,c;

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

 {

  a=i/100;    //百位数

  b=i/10%10;  //十位数

  c=i%10;     //个位数

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

   printf("%d
",i);

 }

 getch();

}



#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(100*i+10*j+k==i*i*i+j*j*j+k*k*k)
printf("%d%d%d\n",i,j,k);
}

#include"stdio.h"
#include"math.h"
int main(){
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i%10;

b=i/10%10;

c=i/100;

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

{
printf("%d\n",i);

}

}
return 0;
}


弥渡县15262929776: C语言编程打印出所有的“水仙花数”.所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身.例如:153是一个“水仙花数”,因为153=... -
皇丹乳糖:[答案] #include "stdio.h" #include "conio.h" main() { int i,j,k,n; printf("'water flower'number is:"); for(n=100;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("%-5d",n); } getch(); }

弥渡县15262929776: 谁知道用C语言怎么编写一个能求出所有的水仙花数的程序? -
皇丹乳糖: main() { int i,j,k,n; printf("'water flower'number is:"); //提示输入水仙花数: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("%-5d",n);}} printf("\n"); }

弥渡县15262929776: c语言:找出所有的水仙花数,用for嵌套表现. -
皇丹乳糖: main() { int a,b,c,d,f,g; for(a=100;a<1000;a++) {scanf("%d",&b); c=b/100; (百位数) d=b%10; (个位数) f=b/10%10; (十位数) g=c*c*c+d*d*d+f*f*f; if(g==a) printf("%d\n",g); } } 这是最简单的 变量可能设的多一点 容易理解....

弥渡县15262929776: C语言试题谁会做帮帮忙五、编程1、打印所有的“水仙花数”.所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身.例如,153是“... -
皇丹乳糖:[答案] 除了最大公约数 其他都不难

弥渡县15262929776: 输出 所有的“水仙花数” 用c语言程序 怎么做 -
皇丹乳糖: 如图所示: 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18#include <stdio.h>intmain(){inti,a,b,c,A,B,C;printf("有下列水仙花数:\n");for(i=100;i<=999;i++){a=i/100;c=(i/10)%10;b=i%10;A=a*a*a;B=b*b*b;C=c*c*c;if(A+B+C==i)printf("%d\t=%d^3+%d^3+%d^3\t=%d +%d +%d\n",i,a,b,c,A,B,C);}return0; }

弥渡县15262929776: c 语言 输出所有的“水仙花数”. -
皇丹乳糖: 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方. 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位. 2.程序源代码: main() { int i,j,k,n; 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",n); } return 0; }

弥渡县15262929776: 用C语言求出所有水仙花数 -
皇丹乳糖: #includeint main(void) { int a,b,c; for(a=1;ahttp://wenwen.soso.com/z/TeamHome.e?sp=50700&ch=tuan.gr

弥渡县15262929776: c语言中,求“水仙花数”问题. -
皇丹乳糖: #include"stdio.h" main() {int i,a=0,b=0,c=0,t;for(i=100;i<=999;i++){a=i%10;b=(i/10)%10;c=i/100; if(c*100+b*10+c*1==a*a*a+b*b*b+c*c*c){t=i;printf("%d",t);}}}if和printf语句都要在循环里面 同时,if语句的条件改为 if(c*100+b*10+c*1==a*a*a+b*b*b+c*c*c)

弥渡县15262929776: C语言编程输出所有的“水仙花数”. -
皇丹乳糖: main() { int ge,shi,bai,number; /*定义个位,十位,百位*/ for(number=100;number<1000;number++) { bai=number/100; shi=(number%100)/10; ge=number%10; if(number==bai*bai*bai+shi*shi*shi+ge*ge*ge) /*若满足条件则显示*/ printf("\nnumber=%d\n",number); } getch(); } 楼上能把另外2种算法 仔细描述下么?谢谢

弥渡县15262929776: C语言编程输出所有的“水仙花数”.
皇丹乳糖://显示所有的话这个还真做不到 #include <iostream> #include <cstdlib> using namespace std; inline int cube ( const int n ){ return n * n * n;} bool isNarcissistic ( const int n ){ int hundreds = n / 100; int tens = n / 10 - hundreds * 10; int ones = n % 10;...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网