知识基础:
for(表达式1;表达式2;表达式3){若干语句}//for循环语句及其格式
思路:水仙花数为三位数,所以循环从100开始,到999结束,i为int型变量,所以i/100的值也是一个int型变量(整数)(注:C语言的取整不是四舍五入,是直接舍去小数),i/100就是百位上的数,i和100求余就是剩下的两位数,i%100之后再除以10同理会得到十位上的数,原数字再和10求余就是个位上的数
答案
#include<stdio.h> int main(){ int i; for(i=100;i<=999;i++){ if(i==(i/100)*(i/100)*(i/100)+((i%100)/10)*((i%100)/10)*((i%100)/10)+(i%10)*(i%10)*(i%10)) printf("%d\n",i); } return 0; }
注:程序结束return 0;不可省。
0.0分
109 人评分
返回1就是水仙花数,其他的自己写吧 char Check(int data) { int a = data / 100; int b = data % 100 / 10; int c = data % 10; if(pow(a ,3) + pow(b ,3) + pow(c ,3) == data) { return 1; } else { return 0; } }
#include<stdio.h> #include<math.h> int main(void) { int a,b,c,d; for(a=100;a<1000;a++) { b=a/100; c=a/10%10; d=a%10; if(a==pow(b,3)+pow(c,3)+pow(d,3)) printf("%d\n",a); } return 0; }
#include<stdio.h> #include<math.h> int main() { for(int i=100;i<=999;i++) { if(i==pow((i/100),3)+pow(((i/10)%10),3)+pow((i%10),3)) printf("%d\n",i); } return 0; }
我用了4个for,,,可能是最笨的方法了 #include<stdio.h> int main() { int i, j, k, num; for(num=100; num<1000; num++) { for(i=1;i<=9;i++) { for(j=0; j<=9; j++) { for(k=0; k<=9; k++) { if(num==i*i*i+j*j*j+k*k*k&&num==i*100+j*10+k) printf("%d\n",num); } } } } return 0; }
#include <stdio.h> void main() { int a,j,m,i,t; for(a=100;a<=999;a++) { t=a; m=0; for(i=1;i<=3;i++) { j=t%10; m=m+j*j*j; t=t/10; } if(a==m) printf("%d是一个水仙花数\n",a); } }
#include <stdio.h> int main() { int x; int a,b,c; for(x=100;x<1000;x++){ a = x/100; b = x/10 - a*10; c = x%10; if( a*a*a+b*b*b+c*c*c == x ){ printf("%d ",x); } } return 0; }
#include <stdio.h> int main() { int a=0,n,i=1,b,maxsize=10000,s=0,t=1; int x[maxsize]; while (t++) { b=t; n=t; while (i<=n) { x[a]=n%10; s=s+(x[a]*x[a]*x[a]); n=(n-x[a])/10; a++; } if(s==b){ printf("%d\n",b); } s=0;a=0; } return 0; } 为啥我程序这样写也只能输出1000以内的四个水仙数啊?更大的为什么输出不了呢
明朝 2020-08-13 15:52:44 |
因为一千到一万以内没有水仙数啊,只有各位上数字四次幂之和为本身的四叶玫瑰数。
#include <stdio.h> int main () { int i,a,b,c,t; 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\n", i); } return 0; } 这道题很舒服
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:716 |
C二级辅导-进制转换 (C语言代码)浏览:551 |
弟弟的作业 (C++代码)浏览:1342 |
求圆的面积 (C语言代码)浏览:1366 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:561 |
C语言训练-亲密数 (C语言描述,反正怎么都能对)浏览:2256 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:650 |
班级人数 (C语言代码)浏览:980 |
JAM计数法 (C语言代码)浏览:721 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:395 |