解题思路:
题目中的条件水仙花数是三位数,所以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> int main() { int n,k,d,sum=0;//k暂时储存数据 d各位上的数据 for(n=100;n<=999;n++){ n=k; while(n){ d=n%10; n/=10; sum+=d*d*d; } if(k==sum) { printf("%d\n",k); } sum=0; } return 0; } 请问我这个 为什么会输出超限
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int a,b,c; int i=0; for(a=1;a<10;a++){ for(b=0;b<10;b++){ for(c=0;c<10;c++){ if(a*100+b*10+c == a*a*a+b*b*b+c*c*c){ printf("%d\n",a*100+b*10+c); } } } } return 0; }
#include<stdio.h> int main(void) { int i; int 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 ",i); } return (0); }
#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",i); } printf("\n"); return 0; } 为什么我这个显示答案错误阿??
柠檬味的草莓 2018-07-11 10:49:00 |
#include<stdio.h> int main() { int i,a,b,c; for(i=100;i<=999;i++) { a=i/100; b=i%100/10; c=i%100%10; if(i==a*a*a+b*b*b+c*c*c) {printf("%d\n",i);} } return 0; }
Lkdna 2018-07-17 14:16:31 |
没错啊,你循环输出的时候加个空格区分一下
RickDong 2018-09-13 13:40:57 |
printf("%d",i);改为printf("%d ",i); 输出就隔开了
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:650 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:640 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1114 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:539 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:688 |
三角形 (C语言代码)浏览:965 |
文科生的悲哀 (C语言代码)浏览:1538 |
IP判断 (C语言代码)浏览:592 |
勾股数 (C语言代码)浏览:830 |
塔山镇中心小学谢全岗 2021-02-08 16:52:21 |
while(n){ d=n%10; n/=10; sum+=d*d*d; }这成死循环了吧