原题链接:[编程入门]水仙花数判断
知识基础:
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分
69 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> int main() { int s; int i,j,k; int x[9][10][10]; for(i=1;i<=9;i++) { for(j=0;j<=9;j++) { for(k=0;k<=9;k++) { x[i][j][k]=i*100+j*10+k; if(x[i][j][k]==i*i*i+j*j*j+k*k*k) { s=x[i][j][k]; printf("%d\n",s); } } } } return 0; }@alex #include<stdio.h> int main() { int a, b, c; for (int i=100;i<1000;i++) { a = i /100; b = i % 100/10; c = i % 10; if (i !=a*a*a+b*b*b+c*c*c) { continue; } printf("%d\n", i); } return 0; }#include<stdio.h> #include<string.h> int main() { int i; char b[4]; for(i=100;(i>=100) && (i<=999);i++) { sprintf(b,"%d",i); if(i==(b[0]-'0')*(b[0]-'0')*(b[0]-'0') + (b[1]-'0')*(b[1]-'0')*(b[1]-'0') + (b[2]-'0')*(b[2]-'0')*(b[2]-'0')) printf("%d ",i); } return 0; }int main() { int i,a,b,c,multi; for ( i = 100; i < 1000; i++) { a = i % 10; b = (i / 10) % 10; c = i / 100; multi = a * a * a + b * b * b + c * c * c; if (multi == i) { printf("%d ", i); } } return 0; }#include<stdio.h> int main() { int a,b,c,m; for(m=100;m<1000;m++) { a=m/100; b=m%100/10; c=m%10; if(m==a*a*a+b*b*b+c*c*c) printf("%d\n",m); } return 0; }一起加油#include<stdio.h> #include<math.h> int main() { int num,i,sum,sum1,sum2; for(num=100;num<=999;num++) { sum=num%10; sum1=num/10%10; sum2=num/100; if(pow(sum,3)+pow(sum1,3)+pow(sum2,3)==num) { printf("%d\n",num); } } return 0; }#include <stdio.h> int main() { for(int a=1;a<10;a++) {for(int b=0;b<10;b++) {for(int c=0;c<10;c++) { if(a*100+b*10+c==a*a*a+b*b*b+c*c*c) printf("%d%d%d\n",a,b,c); } } } return 0; }#include <stdio.h> #include <string.h> #include <math.h> int main(){ void pd(int x); int i=100; for(i;i<1000;i++){ pd(i); } return 0; } void pd(int x){ int i=0,y=0; int z=x; while(x!=0){ y=y+pow(x%10,3); x=x/10; } if(z==y) printf("%d\n",z); }@keheia #include <stdio.h> #include <string.h> #include <math.h> int main(){ void pd(int x); int i=100; for(i;i<1000;i++){ pd(i); } return 0; } void pd(int x){ int i=0,y=0; int z=x; while(x!=0){ y=y+pow(x%10,3); x=x/10; } if(z==y) printf("%d ",z); }#include <stdio.h> #include <string.h> #include <math.h> int main(){ void pd(int x); int i=100; for(i;i<1000;i++){ //printf("%d\n",i); pd(i); //printf("%d\n",i); } return 0; } void pd(int x){ int i=0,y=0; //scanf("%d",&x); int z=x; while(x!=0){ if(1){ y=y+pow(x%10,3); x=x/10; } } if(z==y) printf("%d\n",z); }