解题思路:
题目中的条件水仙花数是三位数,所以for()循环的时候i从100到999就好;
定义三个数a,b,c,分别放这个三位数的百位,十位,个位;
再用一个if语句判断a^3+b^3+c^3是否等于i,如果等于,输入i就好;
注意事项:
三位数各位的求法:
1、个位,直接对10取余;
2、十位,先对10取整得到十位和百的数,此时是一个两位数,再对10取余就得到十位;
3、百位,直接对100取整即可。
参考代码:
#include<stdio.h> int main() { int a,b,c,i; 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 ",i); } printf("\n"); return 0; }
0.0分
94 人评分
#include<stdio.h> #include<math.h> int main() { int i,p=0,s=0; for(i=100;i<1000;i++) { for(p=i;p!=0;) { s+=pow(p%10,3); p/=10; } if(s==i) printf("%d\n",i); } return 0; } 为什么不行呢?
/*打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 */ #include <stdio.h> int main() { int n, a, b, c; for(n=100;n<=999;n++) { if(n >= 100 && n <= 999) { a = n / 100; b = n / 10 % 10; c = n % 10; if (n == a * a * a + b * b * b + c * c * c) printf("%d\n", n); } } }
依旧没有被通过 #include<stdio.h> #include<math.h> int main() { int i,a,b,c,s1,s2; for(a=1;a<=9;a++) { if(a>9) a=1; for(b=0;b<=9;b++) { if(b>9) b=1; for(c=0;c<=9;c++) { if(c>9) c=1; s1=a*100+b*10+c; s2=pow(a,3)+pow(b,3)+pow(c,3); if(s1==s2) { printf("%d\n%d\n%d\n",a,b,c); printf("\n"); } } } } return 0; }
卋平 2022-01-20 15:57:57 |
你这个输出有问题啊,人家让输出水仙花数,你应该输出s1或者s2啊,输出a,b,c干嘛呢
写的比较复杂,不过我觉得还是蛮好懂的 #include<stdio.h> int main() { int a,b,c,sum; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=0;c<=9;c++) { if((a*100+b*10+c)==(a*a*a+b*b*b+c*c*c)) { sum=a*100+b*10+c; printf("%d\n",sum); } } } } return 0; }
#include <stdio.h> int main() { int a=0,b=0,c=0,d=0; int i; for(i=100;i<=999;i++){ d=i; a=d%10; d=d/10; b=d%10; c=d/10; if(a*a*a+b*b*b+c*c*c==i) { printf("%d\n",i); } } } 属于是对本题特攻了
简单粗暴 #include<stdio.h> int main(){ printf("153 370 371 407"); return 0; }
#include<stdio.h> int main() { int i,j,n; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(n=0;n<=9;n++) if(100*i+10*j+n==i*i*i+j*j*j+n*n*n) printf("%d\n",100*i+10*j+n); return 0; }
简单的a+b (C语言代码)浏览:720 |
简单的a+b (C语言代码)浏览:565 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:693 |
输出正反三角形 (C语言代码)浏览:860 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:611 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:686 |
WU-输出正反三角形 (C++代码)浏览:1101 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:571 |
Minesweeper (C语言描述,蓝桥杯)浏览:1177 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |
llc 2022-01-02 11:11:39 |
因为你s的值没有重置,s会越来越大,找不到水仙花数的