C语言中水仙花数(这个三位数等于个位数十位数百位数的三次方之和),我的程序为啥错了,求大神指教一下

来源:360问答  责任编辑:小易  

#includeint sxh(int number);sxh=水仙花数int main(){int i;printf("输出一个三位数:");scanf("%d",&i);if(sxh(i))printf("the data%5d is yes\\n",i);printf("\\n");return 0;}int sxh(int number)/定义判断水仙花数的函数{int sum=0,item,count=1,i=1,temp;temp=number;while(temp>=10){count+;判断位数temp/10;}temp=number;while(i){item=temp%10;temp/10;sum=sum+item*item*item;i+;}if(sum=number)return 1;elsereturn 0;}www.zgxue.com防采集请勿采集本网。

#include<stdio.h>

三位的水仙花数就是每一位的立方之和和这个三位数相等的数。由于固定为三位数,所以可以直接分离各位数字求结果。代码如下: include\"stdio.h int main(int argc,char*argv[]){ int n,d;printf(

int main()

/提示:153 370 371 407 是水仙花数 include void main() { int i,j,k,n;printf(\"请输入一个三位整数\\n\");scanf(\"%d\",&n);i=n/100;分解出百位*/ j=n/10%10;分解出十位*/ k=n%10;分解出个位*/ if(i

{

int n(int x);

#include using namespace std;int fun(int n) { if(n=1) return 10;else return(10*fun(n-1));} int num(int n,int a) { if(n=1) return a;else return(a*num(n-1,a));} void shuixianhua(int n}

int m(int x);

。你的思路好特别啊 层次感很强。可能你是不走寻常路 我这里提供一种普通的 include void main() { int i,a,b,c,d;for(i=100;i;i+) {a=i%10;b=i/10%10;c=i/100;d=a*a*a+b*b*b+c*c*c;if(i=d)

int q(int x);

System.out.println(i+\"是水仙花数\");} } } Test public void test(){ isNarcissusNumber();} 结果: 153是水仙花数 370是水仙花数 371是水仙花数 407是水仙花数 } 扩展资料:import用法 静态的import语句

for (int i = 100; i <= 999; i++)

if (i = m(i) * m(i) * m(i) + n(i) * n(i) * n(i) + q(i) * q(i) * q(i))

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

return 0;

}

int m(int x)

{

int y;

y = x % 10;

return (y);

}

int n(int x)

{

int y;

y = ((x - m(x)) / 100) ;

return (y);

}

int q(int x)

{

int y;

y = (x - 100*n(x)-m(x)) / 10;

return (y);

}

if()判断语句中应该用两个=,即if (i == m(i) * m(i) * m(i) + n(i) * n(i) * n(i) + q(i) * q(i) * q(i)),下面是修改后并运行的结果图:

关键错

if (i = m(i) * m(i) * m(i) + n(i) * n(i) * n(i) + q(i) * q(i) * q(i))

正确的

if (i == m(i) * m(i) * m(i) + n(i) * n(i) * n(i) + q(i) * q(i) * q(i))

(要用==的)

1.一个主程序,输出所有的水仙花数程序,可参考如下:includeint main(int argc,char*argv[]){int i,n1,n2,n3,k=0;for(i=100;i;i+){ n1=i%10;n2=(i/10)%10;n3=i/100;if(n1*n1*n1+n2*n2*n2+n3*n3*n3=i){ printf("%-6d",i);k+;}}printf("\\n共计%d个符合条件\\n",k);return 0;}2.采用自定义函数判别是否是水仙花数,并在主程序中输出所有符合条件的水仙花数includeint shuixian(int n){int flag=0,n1,n2,n3;n1=n%10;n2=(n/10)%10;n3=n/100;if(n1*n1*n1+n2*n2*n2+n3*n3*n3=n)flag=1;elseflag=0;return flag;}int main(int argc,char*argv[]){int i;for(i=100;i;i+)if(shuixian(i))printf("%6d",i);printf("\\n");return 0;}将该主程序中:for(i=100;i;i+)if(shuixian(i))printf("%6d",i);改成:scanf("%d",&i);if(shuixian(i))printf("%6d是水仙花数",i);可实现输入单个数值,判断是否是水仙花数。希望对你的学习有帮助!内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 用C语言写出判断一个三位数是否为水仙花数的程序
  • c语言 输入一个三位数,判断是否是一个“水仙花数”,水仙花数是指3位数的各位数字的立方和等于这个三
  • C语言作业。输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如,1
  • 输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。此题的c语言
  • c语言。。用if语句编程,输入一个三位数,判断是否为水仙花数。
  • C语言编程输入一个三位正整数判断是否为”水仙花数”所谓水仙花是指一个三位数其各位数子立方和等于其本身
  • c语言 输入一个数n(n》=3) 求这个位数上的所有水仙花数
  • c语言问题,求三位数的水仙花数,编写了这个程序
  • c语言编程题 找出所有的水仙花数,水仙花数是指一个3位数
  • C语言中三位数的水仙花数,麻烦大家帮我看看哪里出错了
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved