pdqn.net
当前位置:首页 >> 水仙花数的C语言编程。 >>

水仙花数的C语言编程。

#include<stdio.h> void main() { int x,g,s,b; x=100; printf("水仙花数"); for(;x<=999;) { g=x%10; s=x/10%10; b=x/100%10; if(x==g*g*g+s*s*s+b*b*b) { printf("%d ",x); } x++; } }

把if语句块套在for循环里才行.#include <stdio.h> main() { int n,i,j,k; 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\t",n); } printf("\n"); } }

代码如下:#include <stdio.h>int main(){printf("输出水仙花数:\n");int i=100;for( ; i<1000; i++){int num_0 = i%10;int num_1 = i/10%10;int num_2 = i/10/10%10;if(i==(num_0*num_0*num_0+num_1*num_1*num_1+num_2*num_2*num_2))printf("

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身.例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方. 1.程序分析:利用for循环控制100-999个数,每个数分解

n放错地方了.#include 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)+

main() { int i,j,k,n; scanf("%d",&n);//输入你想要的数据,这个是判断三位数的.i=n/100; j=n/10-i*10; k=n%10;//上面i,j,k,是分别获取百位,十位,各位,上的数字.if(n==i*i*i+j*j*j+k*k*k)//判断是不是水仙花数.printf("yes\n"); printf("%d\n",n);//输出n else printf("no\n"); } 上面程序是只能判断三位数的,如果想更高的话,可以在判断各个位数上改动程序.

先弄懂什么叫水仙花数.水仙花数就是一个三位数,它的个位十位和百位的数的立方加起来和还是这个数,就是水仙花数!例如:153=1*1*1 + 5*5*5 + 3*3*3 你的想法是对的~ 源码:#include <math.h>#include <stdio.h> int sxh(int i) { if (((i/

C语言输出水仙花数的具体分析和实现流程如下:1、水仙花数的含义 “水仙花数”是一个三位数其各位数字的立方和等于该数本身.例如:3^3 + 7^3+ 0^3 = 3702、算法分析 把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和(

#include "stdio.h" int main()//一个程序一定要有一个main函数 你下面定义了n这就不要了定义了 { int i,j,k,n; for(i=1;ifor(j=0;jfor(k=0;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); } }//程序还是对的 没什么问题

#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((a*a*a+b*b*b+c*c*c)==i) printf("%d\n",i); } return(0); } 这是打印1000以内的水仙华数,希望对您有帮助.

网站首页 | 网站地图
All rights reserved Powered by www.pdqn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com